Bashを使用した後も、SHELL環境変数はまだzshを指します。

Bashを使用した後も、SHELL環境変数はまだzshを指します。

zshとbashの間を移動しようとしています。

デフォルトでは、私はzshをシェルとして使用します。次のように入力してこれを把握できます。

echo $SHELL私は得る/bin/zsh

しかし、私はBashを開きたいので、私は/bin/bash今bashにいると仮定して入力します。ただし、エコーすると、$SHELLまだ次のメッセージが表示されます。/bin/zsh

何が問題なの?

ベストアンサー1

SHELLは、zshを呼び出すときにbashからzshに渡される環境変数です。 SHELLはそれらの1つではありませんShellが設定したパラメータzsh では、その値は変更されません。

bash$ SHELL=turtle zsh
zsh$ echo $SHELL
turtle 

zsh シェルにあることを確認するには、次のようにします。

echo $ZSH_NAME
echo $0

この変数は、伝統的に「パスワードデータベースで指定されている」SHELLプログラムによって設定されています。login(からコピー$SHELL環境変数を設定するものは何ですか?)

おすすめ記事