cmd: change suppress newline in echo command
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 20 Jan 2021 11:13:30 +0000 (12:13 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 25 Jan 2021 00:15:33 +0000 (01:15 +0100)
commitd018734c0cc2c21c69926a5c85293c1dd6fb3b2b
treef4b75758df9f20140366eff8e64aa276ed6df6f4
parentde702493c449200a0e84c8e6dcc58deb49837691
cmd: change suppress newline in echo command

By default the echo command emits its arguments followed by a line feed.

If any of the arguments contains the sub-string "\c", the line feed is
suppressed.

This does not match shells used in Linux and BSD where the first argument
has to be -n to suppress the line feed.

The hush shell interferes with the parsing of backslashes. E.g. in the
following command line quadruple backslashes are required for suppressing
the line feed:

for i in 1 2 3; do for j in 4 5; do echo \\\\c ${i}${j}; done; echo; done;

To avoid unexpected behavior the patch changes echo to use -n as first
argument to suppress the line feed.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
cmd/echo.c