$SHELL gives (in the case of tcsh/csh/bash) the shell you opened the session with, not your current shell.
Actually, $SHELL tells which shell should be used to interpret scripts that have no interpreter specified on the first line.
In most cases, it is read from /etc/passwd. But it can be over-ridden. Try some experiments by writing a shell script with no #!/bin/myshell at the top, and then set the $SHELL variable to various things and run the script. You'll get some weird, but predictable, behavior.
$SHELL is a directive for future shells, not an observation of current shells.
Alan . -- TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug TriLUG Organizational FAQ : http://trilug.org/faq/ TriLUG Member Services FAQ : http://members.trilug.org/services_faq/
