tag 20130 notabug close 20130 stop On 17/03/15 22:27, Paul Eggert wrote: > On 03/17/2015 02:23 PM, Robson Júnior wrote: >> `test -e` with no filename being passed to. It returns 0, although it >> should be 1. > > No, 'test -e' should exit with status 0, because '-e' is a nonempty > string. In general, 'test X' exits with status 0 if and only if X is > nonempty. POSIX requires this behavior; see: > > http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html > > and search for "1 argument".
If the filename is in a shell variable, this is another reason for quoting. I.E. this will work reliably: file=blah test -e "$file" || echo missing thanks, Pádraig.
