
Hi Heinrich,
On Wed, 20 Jan 2021 at 09:43, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
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
cmd/echo.c | 49 ++++++++++++++++++------------------------------- 1 file changed, 18 insertions(+), 31 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
This could be a good oppty to add a test for the echo command.