![現在、非ログインシェルにあるのか、ログインシェルにあるのか、どうすればわかりますか? [コピー]](https://linux33.com/image/27309/%E7%8F%BE%E5%9C%A8%E3%80%81%E9%9D%9E%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AB%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B%E3%80%81%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AB%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B%E3%80%81%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
答え1
次のコマンドを使用して、ログインシェルに存在することを確認できますshopt
。
dennis@lightning:~$ shopt login_shell
login_shell off
利点については、ログインシェルは通常、他のシェルに必要なものよりも多くの初期化(たとえば、環境変数の設定や$ HOMEへのcd'ing)を実行します。一方、デフォルトでは、GUIで実行されるすべてのシェルは次のようになります。いいえ~/.bashrc
したがって、ほとんどの人は、ログインシェルと非ログインシェルの両方に対してすべての初期化を実行するようにシェル初期化スクリプトなどを設定します。