[PATCH 1/1] cmd: change suppress newline in echo command

Simon Glass sjg at chromium.org
Thu Jan 21 04:26:15 CET 2021


Hi Heinrich,

On Wed, 20 Jan 2021 at 09:43, Heinrich Schuchardt <xypron.glpk at 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 at gmx.de>
> ---
>  cmd/echo.c | 49 ++++++++++++++++++-------------------------------
>  1 file changed, 18 insertions(+), 31 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

This could be a good oppty to add a test for the echo command.


More information about the U-Boot mailing list