有多種方式可以檢視你目前在使用什麼 shell,最簡單的方法就是通過使用 shell 的特殊參數。
其一,一個名為 "$$" 的特殊參數 表示目前你正在運作的 shell 執行個體的 PID。此參數是隻讀的,不能被修改。是以,下面的指令也将顯示你正在運作的 shell 的名字:
複制代碼代碼如下:
$ ps -p $$
PID TTY TIME CMD
21666 pts/4 00:00:00 bash
上述指令可在所有可用的 shell 中工作。
如果你不使用 csh,找到目前使用的 shell 的另外一個辦法是使用特殊參數 “$0” ,它表示目前正在運作的 shell 或 shell 腳本的名稱。這是 Bash 的一個特殊參數,但也可用在其他 shell 中,如 sh、zsh、tcsh 或 dash。使用 echo 指令可以檢視你目前正在使用的 shell 的名稱。
複制代碼代碼如下:
$ echo $0
bash
不要被一個叫做 $SHELL 的單獨的環境變量所迷惑,它被設定為你的預設 shell 的完整路徑。是以,這個變量并不一定指向你目前使用的 shell。例如,即使你在終端中調用不同的 shell,$SHELL 也保持不變。
複制代碼代碼如下:
$ echo $SHELL
/bin/shell
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZ1QTNjFmM5YDOlJDO2UzY2EWYwE2NwETN5AjM3QGOl9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
是以,找出目前的shell,你應該使用 $$ 或 $0,但不是 $SHELL。
找出目前 Shell 的版本一旦你知道你使用的是哪個 shell,你可能想知道此 shell 的版本。為此,在指令行中輸入 shell 并在後面加上 “--version” 參數可以檢視版本資訊。例如:
對于 bash shell :
複制代碼代碼如下:
$ bash --version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
對于 zsh shell:
$ zsh --version
zsh 5.0.7 (x86_64-pc-linux-gnu)
對于 tcsh shell: $ tcsh --version
複制代碼代碼如下:
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec
對于某些 shell,你還可以使用 shell 特定的變量(例如,$BASHVERSION 或 $ZSHVERSION)。
複制代碼代碼如下:
$ echo $BASH_VERSION
4.3.8(1)-release