2016-07-07 42 views
7

我想知道我的shell版本使用Linux命令。我想下面的命令,但它顯示我在外殼的類型如何使用linux命令查找我的shell版本?

命令:

echo $SHELL 

結果:

/bin/bash 
+0

請注意,您可以使用一些奇怪的外殼,即使是不符合POSIX的外殼(例如[fish](http://fishshell.com/)或[es](https://wryun.github.io/es -貝殼/)...)。你應該知道你使用的是什麼外殼。如果它是'bash',確實嘗試'bash --version'。或者使用你的軟件包管理系統(在Debian或Ubuntu上使用'dpkg -l bash') –

回答

12

這將做到這一點:

$SHELL --version 

在我的情況下,輸出是:

zsh 5.0.2 (x86_64-pc-linux-gnu) 
+2

並非所有的shell都有'--version'選項,但是比這更多,所以這可能是你最好的選擇。 – torek

+1

It works @ Muhammad sumon Molla Selim – sago

+0

我對此有些qu;;看[我的回答](https://stackoverflow.com/a/38240328/827263)。 –

4

這取決於您是否想知道默認登錄shell的版本或您當前運行的shell的版本。它們不一定相同。

對於您的默認登錄shell,如接受的答案所示,$SHELL --version很可能會起作用。大多數(但不是全部)炮彈接受--version選項。 (dash沒有。)並且這假定$SHELL的值沒有被改變(可以有正當理由這麼做)。

對於您目前運行的,如果它恰好是殼bash可以鍵入:

echo $BASH_VERSION 

對於tcsh

echo $version 

zsh

echo $ZSH_VERSION 

對於ksh

echo $KSH_VERSION 

對於fish

echo $version 

再次,這假定相關變量沒有被修改(有很少任何非惡意的理由去改變它)。

Bash特別有一個數組變量$BASH_VERSINFO,它提供了更易於以編程方式處理的表單中的更多信息。

+0

這是一個更好的答案。 – ocertat