Linux中國

Linux 有問必答:如何知道當前正在使用的 shell 是哪個?

有多種方式可以查看你目前在使用什麼 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

因此,找出當前的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

via: http://ask.xmodulo.com/which-shell-am-i-using.html

作者:Dan Nanni 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國