Configuration Information [Automatically generated, do not change]:
Machine: i686
OS: cygwin
Compiler: gcc
Compilation
CFLAGS:  -DPROGRAM='bash.exe' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='cygwin' 
-DCONF_MACHTYPE='i686-pc-cygwin' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/
locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -DRECYCLES_PIDS   -I.  -I/h
ome/eblake/bash-3.2.25-17/src/bash-3.2 -I/home/eblake/bash-3.2.25-17/src/bas
h-3.2/include -I/home/eblake/bash-3.2.25-17/src/bash-3.2/lib   -O2 -pipe
uname output: CYGWIN_NT-5.0 zorin 1.5.24(0.156/4/2) 2007-01-31 10:57 i686
Cygwin
Machine Type: i686-pc-cygwin

Bash Version: 3.2
Patch Level: 25
Release Status: release

Description:
 builtin "test" command does not behave as expected with args "! -a FILE"

Repeat-By:
 $ help test
 ...
        -a FILE        True if file exists
 ...

        $ test -e /dev/null ; echo $?
        0

        $ test -a /dev/null ; echo $?
        0

        $ test ! -e /dev/null ; echo $?
        1

        $ test ! -a /dev/null ; echo $?
        0

        $ /bin/test ! -a /dev/null ; echo $?
        1

 The fourth case is surprising.
 Is -a supposed to be equivalent to -e and why is it needed?



Reply via email to