红山玉龙

导航

Linux查看shell类型

原文链接:http://babybandf.blog.163.com/blog/static/6199353201051914119604/
 
一、查看当前发行版可以使用的shell:
chao@chao:~$ cat /etc/shells 
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
二、查看当前使用的shell : 
chao@chao:~$ echo $0
bash
三、查看当前用户(默认)使用的shell:
chao@chao:~$ echo $SHELL
/bin/bash
四、环境变量中shell的匹配查找
chao@chao:~$ env | grep SHELL
SHELL=/bin/bash
五、口令文件中shell的匹配查找
chao@chao:~$ cat /etc/passwd | grep chao
chao:x:1000:1000:chao,340,6733,6733:/home/chao:/bin/bash
六、查看当前进程
chao@chao:~$ ps
PID TTY          TIME CMD
4507 pts/0    00:00:00 bash
8688 pts/0    00:00:00 ps
七、先查看当前shell的pid,再定位到此shell进程

 

chao@chao:~$ echo $$
4507
chao@chao:~$ ps -ef |grep 3052
chao      8710  4507  0 15:30 pts/0    00:00:00 grep --color=auto 3052

附:一条命令即可实现:

chao@chao:~$ ps -ef |grep `echo $$` |grep -v grep |grep -v ps
chao      4507  4505  0 09:30 pts/0    00:00:00 bash

 

另:有网友说可以输入一个不存在命令就可以显示当前shell类型,不过我测试的结果是显示不了,如下:

chao@chao:~$ dfsdfsas
dfsdfsas: command not found

但是2010-03-30 在一台sun小机上的solaris上测试这个方法是可以的~~

BTW:以上均是在ubuntu9.10下测试的结果,不同linux之间、不同当前shell下可能略又不同。

 

posted on 2014-10-11 08:39  红山玉龙  阅读(5920)  评论(0编辑  收藏  举报