Tim Alberts wrote:
Why does 'test -f' and 'test -e' return true on a (hidden) file that doesn't exist?
*> cat /home/talberts/.forward* cat: /home/talberts/.forward: No such file or directory *> test -f /home/talberts/.forward ;echo $?* 1 *> test -e /home/talberts/.forward ;echo $?* 1
It doesn't:
[root@gandalf ~]# cat /tmp/.test1 test1 [root@gandalf ~]# test -f /tmp/.test1 ; echo $?* 0* [root@gandalf ~]# test -f /tmp/.test1 ; echo $? 0
[root@gandalf ~]# cat /tmp/.test2 cat: /tmp/.test2: No such file or directory [root@gandalf ~]# test -f /tmp/.test2 ; echo $? 1 [root@gandalf ~]# test -e /tmp/.test2 ; echo $? 1 [root@gandalf ~]#