On Mon, Oct 25, 1999 at 09:08:51PM +1000, Herbert Xu wrote: > So, unless the first operand is -n, or if the string contains backslash > characters, the operands are to be written to the standard output verbatim > separated by sngle spaces with a new line at the end. If the first operand > is -n, or if there are backslash characters, anything can happen. > > Applying this to the case > > echo -e hello > > the first operand is not -n and there are no backslashes, so the output must > be > > -e hello
Except you elected to not quote what posix said about options: <quote> 4.19.3 Options The echo utility shall not recognize the -- argument in the manner specified by utility syntax guideline 10 in 2.10.2; -- shall be recognized as a string operand. Implementations need not support any options. </quote> So the interpretation you're suggesting is *legal* for a POSIX implementation of /bin/sh, but it's fairly clear that it's not *required* for a POSIX implementation of /bin/sh It's fairly clear from 2.10.1 that options are not operands. [Also note the parts of 2.10.2 which were not explicitly superceeded in 4.19.] If options are forbidden by posix it's reasonable to expect that the command must support their treatment as operands. However when they're merely not required it's reasonable for that to vary from one system to another. -- Raul

