Hi, test(1) says: -e file True if file exists (regardless of type). Consider: $ ls -l /tmp/foo /tmp/bar ls: /tmp/foo: No such file or directory lrwx------ 1 jschauma wheel 8 May 4 11:35 /tmp/bar -> /tmp/foo $ I would have expected "test -e /tmp/bar" to evaluate to true. Instead, it follows the symlink and evaluates to false: $ test -e /tmp/bar $ echo $? 1 IOW, it uses stat(2) instead of lstat(2): if (mode == FILSYM ? lstat(nm, &s) : stat(nm, &s)) (mode == FILSYM only if "-L" or "-h" was given) Is this intentional, and if so, should this maybe be explicitly noted in the manual page? -Jan
Attachment:
pgpstrh4fktHM.pgp
Description: PGP signature