The '!' operator in the legacy test/[ builtin does not invert the result
of the -o operator. Consequently the command

        [ ! -o noclobber ]

amounts to a no-op, always returning exit status 0.

Proof:

$ set -o noclobber && [ -o noclobber ] && [ ! -o noclobber ] && echo bug
bug

Interestingly, mksh has this bug as well, though not the original pdksh.

Thanks,

- M.

Reply via email to