$ SHELLはLinuxのデフォルトのシェルパスを保存しますか?

$ SHELLはLinuxのデフォルトのシェルパスを保存しますか?

私の管理者は私のデフォルトシェルがに設定されているとbash言っていますが、

$ echo $SHELL
/bin/csh
$

デフォルトシェルはこの変数に関連していますかSHELL?いいえ、変数は何に使用されますか?

ベストアンサー1

これは100%正確ではありません。たとえば、

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

$ SHELLには、/ etc / passwdのユーザーエントリで指定されたセッションの親シェル(通常はログインシェル)が含まれています。より明確に言えば、$ SHELLは現在のセッションを作成した親シェルです。私の例では、現在Kornシェルは技術的にBASHで実行されているため、$ SHELLは変更されません。

明らかに、これはほぼ完全に意味論的な区別ですが、目に見えるものがすぐに得られると信じる落とし穴に陥らないでください。

おすすめ記事