GNU bug report logs -
#21416
"--" syntax for ignoring flags doesn't seem to work right with GNU /bin/echo
Previous Next
Full log
View this message in rfc822 format
Robert "Finny" Merrill wrote:
> ~/workspaces/diags-dev/s1 @bs360.sjc> /bin/echo --help
> Usage: /bin/echo [SHORT-OPTION]... [STRING]...
> or: /bin/echo LONG-OPTION
> Echo the STRING(s) to standard output.
> *snip*
> ~/workspaces/diags-dev/s1 @bs360.sjc> /bin/echo -- --help
> -- --help
> ~/workspaces/diags-dev/s1 @bs360.sjc>
Under what actual live conditions in the wild would someone be using
/bin/echo in this manor?
Most shell interpreters used for scripts will have a shell builtin
version of echo.
$ ls -log /bin/sh
lrwxrwxrwx 1 4 Nov 8 2014 /bin/sh -> dash
$ /bin/sh -c 'echo --help'
--help
$ /bin/bash -c 'echo --help'
--help
$ /bin/ash -c 'echo --help'
--help
$ /bin/dash -c 'echo --help'
--help
$ /bin/ksh -c 'echo --help'
--help
$ /bin/csh -c 'echo --help'
--help
I think this might be a problem that is purely academic as it can't
ever actually be hit in real life. However if you provide an actual
example that would go a long way to making this problem clear.
> There doesn't seem to be a way to get /bin/echo to output the string "--help"
Woe is me for suggesting using -e or -E as they are terribly
non-portable options. Don't use them! Use printf instead. But
having said that...
$ /bin/echo -e --help
--help
$ /bin/echo -E --help
--help
But please don't do it. Use printf instead. The shell printf command
has a standard syntax and may portably be used.
Bob
This bug report was last modified 9 years and 265 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.