確認當前使用的 Shell 類型有多種方式,但即時性與適用場景不同。本文比較六種常見方法。

ps | grep $$ | awk '{print $4}'
$$ 為當前 Shell 進程 PID,結果即時準確。echo $SHELL
顯示登入 Shell 路徑,若切換過 Shell 不會更新。echo $0
顯示當前腳本/Shell 名稱,互動式 Shell 下可能顯示 -bash。env | grep SHELL
同 echo $SHELL。cat /etc/passwd | grep username
顯示用戶預設登入 Shell,非當前會話狀態。ps -ef | grep $$ | grep -v grep | grep -v ps
去除干擾行,可見完整命令行參數。需即時確認當前 Shell 類型請用方法 1;查詢用戶預設 Shell 用方法 2 或 5。