There is no “printf” builtin in mksh. It can be added as a speed hack, but this is discouraged, and the user has to provide the code (printf.c) themselves, although it can be taken from MirBSD. Similarily, making “echo” external will slow down things. (Do note that mksh has no less than three “echo” implementations and, when called as “mksh” (not in sh or posix mode), offers the best one.)
“better” is relative. But let’s not argue this particular point. I fail to see how you can make “killÌ” or “sleep” better… mksh’s offers 100% of the functionality commonly found (including sub-second sleep). “pwd” and “ulimit” must be builtins. We already defer to external utilities for both “cat” and (new in R53) “realpath” if called with an option, any option. (The “cat” builtin does, however, support the POSIX ‘-u’ flag.) Please see the dot.mkshrc file shipped with the distribution for an implementation of the “enable” utility from GNU bash, which can be used to enable/disable using the built-in utilities or external ones. (The builtin is still available via “\builtin cat”, etc.) but take my advice to be careful with this — users don’t normally need, nor do, this. After all, one of the strengths of mksh is that it behaves consistent across platforms. ** Changed in: mksh Status: New => Invalid -- You received this bug notification because you are a member of mksh Mailing List, which is subscribed to mksh. Matching subscriptions: mkshlist-to-mksh-bugmail https://bugs.launchpad.net/bugs/1616693 Title: should have compile-time options to disable mksh builtins Status in mksh: Invalid Bug description: builtins such as cat, echo, kill, pwd, realpath, ulimit, and sleep often have better implementations available on the platform. some builtins (printf, say) do have compile-time options to disable them, but the ones listed above don't. it would be nice to have an "official" way to disable these rather than maintain a local patch. To manage notifications about this bug go to: https://bugs.launchpad.net/mksh/+bug/1616693/+subscriptions