檢查您在 Linux 上使用的 Shell 的 4 種方法

Linux 提供了開箱即用的各種 shell。 有 bash (Bourne Again shell) shell 在許多 Linux 發行版中默認提供。 我們還有 sh(Bourne Shell)、tcsh(TC shell)、csh(C shell)、Zsh(Z shell)和 ksh(Korn Shell)。

想知道您在 Linux 系統上使用的是哪個 shell? 在本指南中,我們探討了可用於檢查當前在 Linux 中使用的 shell 的不同方法。

1)使用echo命令

Linux echo 命令是一個內置命令,用於打印作為參數傳遞的字符串的輸出。 此外,您可以使用 echo 命令來檢查您在其中運行命令的 shell。為此,請執行:

$ echo $SHELL

echo $SHELL 的輸出

輸出顯示我正在使用 bash 殼。 此外,您可以簡單地運行以下命令:

$ echo $0

迴聲 $0echo $0 的輸出

要獲取您當前所在的 shell 的 PID,請運行:

$ echo $

迴聲$$echo $$ 的輸出

2)使用ps命令

通常用於列出正在運行的進程,ps 命令以其基本格式顯示您正在使用的 shell。 只需執行以下命令:

$ ps

使用 ps 命令檢查外殼ps命令的輸出

從輸出的第一行,我們可以清楚地看到shell的PID,最後一列打印出shell的類型,在這種情況下—— bash.

或者,您可以運行以下命令:

$ ps -p $

使用 ps 命令檢查您使用的是哪個 shellps -p $$ 的輸出

你也可以使用 ps -p $$ -o args= 它只輸出外殼名稱。

3) 通過查看 /etc/passwd 文件

grep 命令可用於探測 /etc/passwd 包含用戶屬性的文件,例如用戶名、用戶 ID 和組 ID。

要顯示使用的 shell,請調用以下命令:

$ grep "^$USER" /etc/passwd

grep /etc/passwd 文件顯示shell使用 /etc/passwd 文件顯示 shell

在最後一段,我們可以看到 bash 使用,在這種情況下 /bin/bash 這也使您可以大致了解第一次登錄系統時首先打開的是哪個 shell。

4) 使用 lsof 命令

通常,lsof 命令,縮寫為 打開的文件列表, 用於提供系統上打開的文件列表。 但是,當與 -p $$ 標誌,當您查看輸出的第一列時,它會提供指向您所在 shell 的指針。

為了 example,我們可以清楚地看到我們在 bash 殼。

$ lsof -p $

使用 lsof 命令查找 shelllsof -p $$ 的輸出

如何檢查有效的登錄shell

我們已經看到了可以用來檢查當前所在 shell 的各種方法。如果您想知道系統上的有效 shell,請檢查 /etc/shells 文件,該文件將為您提供系統中有效登錄 shell 的完整路徑名。 使用 cat 命令,查看文件,如圖:

$ cat /etc/shells

檢查有效的登錄 shell有效的登錄 shell

結論

在本指南中,我們分享了簡單而巧妙的方法,您可以使用這些方法來了解您正在使用哪個 shell。 這在編寫腳本時很重要,這樣您就可以知道如何開始編寫 shebang 標頭。 我們確實希望本教程是有益的。 給我們留言,不要忘記在您的社交平台上分享本指南。