On 8/16/20 12:21 PM, Eric Blake wrote: > On 8/16/20 10:47 AM, Todd A. Jacobs wrote: > >> Description: >> The echo builtin accepts options, but does not seem to handle >> `--` correctly as the end of options. > > The correct behavior for echo is described here: > https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html > "The echo utility shall not recognize the "--" argument in the manner > specified by Guideline 10 of XBD Utility Syntax Guidelines; "--" shall > be recognized as a string operand." > >> The expected behavior >> would be for -- to be removed, and any following flag-like >> substrings printed as-is. > > Your expectations are wrong, they contradict what POSIX says. > >> >> Repeat-By: >> echo "-n" # "" but expecting "-n" > > POSIX says this one is implementation-defined; so whether -n is treated > as an option or as a string to echo has to be documented by the > implementation (bash documents treating it as an option).
Err... "Implementations shall not support any options." >> echo -- -n foo # -- -n foo > > POSIX says this has to output '-- -n foo' and a newline. -n wasn't > first, so you no longer have the implementation-defined behavior, but > well-defined. > >> echo -- "-n foo" # -- -n foo > > Also well-defined. > > I see nothing in your report about bash disobeying POSIX, but rather > confusion on your part about what POSIX actually requires. bash does disobey POSIX, but not in the manner which the report specifies. -- Eli Schwartz Arch Linux Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature