一、找出正在使用的shell类别
有很多种方法可以找出目前正在使用的shell类别。最简单的方法是使用特殊的shell参数。
1、“$$”
通过特殊的shell参数“$$”可以查找出正在运行的shell的PID。“$$”参数是只读的不能修改。下面的指令也可以显示正在运行的shell名称。以下所有例子均以我的linux系统为例。在调试终端的命令行中输入以下指令:
$ ps -p $$
可以查出正在使用的shell类别。这条指令适用于所有的shell。
2、“$0”
如果使用的不是csh,还可以使用特殊参数“$0”找出当前使用的shell类别。“$0”表示当前正在运行的shell或者shell脚本的名称。这是bash的一个特殊参数,但是也可以用在其他的shell中,比如sh、zsh、 tcsh 或者 dash。使用echo命令可以查看正在使用的shell名称。
$ echo $0
不要被一个叫做$SHELL的单独的环境变量所迷惑,它被设置为默认shell的完整路径。因此这个变量并不一定指向你当前使用的shell。即使在终端中调用不同的shell,$SHELL也保持不变。
因此,找出当前使用的shell类别,应该使用$$或者$0,而不是$SHELL。
二、找出当前shell版本
一旦知道使用的哪个shell,可能还需要知道此shell的版本。在命令行中输入shell并在后面加上“--version”参数可以查看版本信息。例如:
对于bash shell:
$
对于某些shell,你还可以使用shell特定的变量(例如,$BASH_VERSION或$ZSH_VERSION)。