test(1) unexpected result (to me)

Sam Lawrance boris at brooknet.com.au
Tue Jan 11 17:11:09 PST 2005


Sean McNeil wrote:

>On Tue, 2005-01-11 at 16:41 -0800, Julian Elischer wrote:
>  
>
>># ls -l /sys
>>lrwxrwxrwx  1 root  wheel  11 Sep  4 22:03 /sys -> usr/src/sys
>># if [ /sys -ef /usr/src/sys ]
>> > then
>> > echo same
>> > else
>> > echo no
>> > fi
>>no
>>
>>
>>I would have expected the result "same"
>>
>>comments?
>>    
>>
>
>By "same file" they mean each references the same inode.  Since this is
>a symlink, the files do not refer to the same file.
>
>You can see that if it were a hard link the result would be "same"
>echoed.
>

test -ef uses stat() to compare the inodes. stat returns the inode of 
the pointed-to file, not the link.



More information about the freebsd-current mailing list