I work with different types of machines every day. It is often necessary to set things up differently for, say, a Linux box, than a SPARCstation. Going beyond that, you may want to set things up differently on a per-host basis.
I have this test in my .cshrc file:
setenv HOST "`uname -n`" if (-e ~/lib/cshrc.hosts/cshrc.$HOST) then source ~/lib/cshrc.hosts/cshrc.$HOST endif
So, if I log in to a machinebosco, and I have a file called ~/lib/cshrc.hosts/cshrc.bosco, I can it to customize my environment for that one machine. Examples of things you would put in a .cshrc.$HOST file:
I always like to reach for the upper-right part of a keyboard to erase characters. Sometimes this is the location for the BACKSPACE key, and sometimes it is the DELETE key. I set things up so that I can consistently get "erase" behavior from whatever key is there.:
Otherand may be different. You may run a package on a certain machine that relies on a few environment variables. No need to always set them and use up a little bit of memory if you only use them in one place!
In general, this idea allows you to group together whatever exceptions you want for a machine, rather than having to write a series ofor throughout your .cshrc and .login files.