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
