s6-linux-init
Software
skarnet.org
The s6-linux-init-echo program
s6-linux-init-echo writes its arguments to stdout.
Interface
s6-linux-init-echo [ -n ] [ -s sep ] args...
s6-linux-init-echo writes its arguments args to stdout, separated with spaces.
Options
- -n : do not output a trailing newline.
- -s sep : separate arguments with the sep character instead of a space.
Notes
- Strange, and appalling, as it may seem for such a simple task, there is no way to ensure that the echo program will behave consistently from Unix system to Unix system - and even from Linux distribution to Linux distribution. Despite there being a standard for it, the echo commands in GNU coreutils, busybox, toybox, sbase, and other implementations basically all exhibit different behaviours. Every shell has a built-in echo command, that fails to follow the POSIX standard. echo is the prime example of the consequences of the blatant disregard of early Unices for cross-system compatibility, and its followup as a turf war between GNU and the rest of the Linux world. As a distribution-agnostic software developer, it is ironically impossible to rely on a definite behaviour of the echo command on every supported system, and that is why s6-linux-init provides its own implementation. Fortunately, it is very easy to do so, with minimal overhead.
- This command is an exact duplicate of the s6-echo command provided in the s6-portable-utils package. It was decided not to have a dependency from s6-linux-init to s6-portable-utils: that dependency would arguably be a higher cost than the small amount of code duplication.
