Stephen James
Registered
I'd installed a Perl module which clobbered my /usr/bin/head as it had installed a
/usr/bin/HEAD
So investigated and found that the shell tcsh ignores case for filenames. This may or may not be configurable but the behavour is weird.
[localhost:/tmp] root# sh -x weird
+ rm -f /usr/bin/head /usr/bin/HEAD
+ touch /usr/bin/head /usr/bin/HEAD
+ ls -l /usr/bin/head /usr/bin/HEAD
-rw-r--r-- 1 root wheel 0 May 15 22:30 /usr/bin/HEAD
-rw-r--r-- 1 root wheel 0 May 15 22:30 /usr/bin/head
+ cp /etc/group /usr/bin/HEAD
+ ls -l /usr/bin/head /usr/bin/HEAD
-rw-r--r-- 1 root wheel 555 May 15 22:30 /usr/bin/HEAD
-rw-r--r-- 1 root wheel 555 May 15 22:30 /usr/bin/head
+ rm /usr/bin/HEAD
+ ls -l /usr/bin/head /usr/bin/HEAD
ls: /usr/bin/HEAD: No such file or directory
ls: /usr/bin/head: No such file or directory
[localhost:/tmp] root#
Notice how /usr/bin/head becomes the same /usr/bin/HEAD, I can't believe this is correct as it would go against the basic casesensitive Unix way.
So my /usr/bin/head was clobbered now where do I get my original back from, where is it on the CD.
Should tcsh behave like this?.