首頁 > 軟體

Linux系統入門教學:如何知道當前正在使用的 Shell 是哪個?

2020-06-16 17:49:32

問題: 我經常在命令列中切換 shell。是否有一個快速簡便的方法來找出我當前正在使用的 shell 呢?此外,我怎麼能找到當前 shell 的版本?

 

找到你當前正在使用的 Shell 版本

有多種方式可以檢視你目前在使用什麼 shell,最簡單的方法就是通過使用 shell 的特殊引數。

其一,一個名為 "$$" 的特殊引數 表示當前你正在執行的 shell 範例的 PID。此引數是唯讀的,不能被修改。所以,下面的命令也將顯示你正在執行的 shell 的名字:

  1. $ ps-p $$
  2. PID TTY TIME CMD
  3. 21666 pts/400:00:00bash

上述命令可在所有可用的 shell 中工作。

如果你不使用 csh,找到當前使用的 shell 的另外一個辦法是使用特殊引數 “$0” ,它表示當前正在執行的 shell 或 shell 指令碼的名稱。這是 Bash 的一個特殊引數,但也可用在其他 shell 中,如 sh、zsh、tcsh 或 dash。使用 echo 命令可以檢視你目前正在使用的 shell 的名稱。

  1. $ echo $0
  2. bash

不要被一個叫做 $SHELL 的單獨的環境變數所迷惑,它被設定為你的預設 shell 的完整路徑。因此,這個變數並不一定指向你當前使用的 shell。例如,即使你在終端中呼叫不同的 shell,$SHELL 也保持不變。

  1. $ echo $SHELL
  2. /bin/shell

因此,找出當前的shell,你應該使用 $$ 或 $0,但不是 $SHELL。

 

找出當前 Shell 的版本

一旦你知道你使用的是哪個 shell,你可能想知道此 shell 的版本。為此,在命令列中輸入 shell 並在後面加上 “--version” 引數可以檢視版本資訊。例如:

對於 bash shell :

  1. $ bash--version
  2. GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
  3. Copyright(C)2013FreeSoftwareFoundation,Inc.
  4. LicenseGPLv3+: GNU GPL version 3or later
  5. Thisis free software; you are free to change and Redistribute it.
  6. Thereis NO WARRANTY, to the extent permitted by law.

對於 zsh shell:

  1. $ zsh --version
  2. zsh 5.0.7(x86_64-pc-linux-gnu)

對於 tcsh shell: $ tcsh --version

  1. 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)。

  1. $ echo $BASH_VERSION
  2. 4.3.8(1)-release

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

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

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

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-11/125565.htm


IT145.com E-mail:sddin#qq.com