$
$bash
bash-2.05$
bash-2.05$ echo $SHELL
/usr/bin/sh
bash-2.05$finger -m username
Login name: username In real life: Full Name
Directory: /home/username Shell: /bin/csh
On since Oct 25 16:28:23 on pts/2 from user.domain.com
3 minutes 52 seconds Idle Time
you can see that I changed my shell to bash but both the commands show
different shell environments?
What if I need to find which shell I am into now?
Thanks,
Try :
# echo $0
ps -p "$$" -o comm=
--
Regards,
---Robert
Both "$0" and "ps" can be easily spoofed, and well as
needing to cater to portability concerns. In addition,
many shells will "advertise" themselves as another
shell ("bash" and "ksh" as "sh", etcetera) ostensibly
for configuring feature visibility yet obscuring the
controlling standard (SYS5, BSD, POSIX, ...).
For a non-trivial solution (listed in order of general
scope), see if any of the following fit your specific needs:
"shtype"
http://shelldorado.com/scripts/cmds/shtype.txt
"The Kameleon Shell.sh"
http://www.unixreview.com/documents/s=1344/ur0312e/
"which_interpreter"
http://stchaz.free.fr/
=Brian