Bash

$SHELL 是否儲存 Linux 中預設 shell 的路徑?

  • November 21, 2018

我的管理員說我的預設 shell 設置為bash,但是

$ echo $SHELL
/bin/csh
$

預設 shell 是否與SHELL變數相關?不是,這個變數是乾什麼用的?

這不是 100% 正確的。例如:

$> echo $SHELL
/bin/bash
$> /bin/ksh
$] echo $SHELL
/bin/bash

$ SHELL contains the parent shell for your session, which is commonly your login shell as dictated by your user entry in /etc/passwd. More clearly, $ SHELL 是生成目前會話的父 shell。在我的範例中,目前的外殼程序 Korn 在 BASH 中技術上執行,這就是 $SHELL 未修改的原因。

顯然,這幾乎完全是語義上的區別,但是,不要陷入相信所見即所得的陷阱。

引用自:https://unix.stackexchange.com/questions/4150