「ログイン」と「インタラクティブ」bashシェルの違いは何ですか?私は以下のウィキペディアを引用しましたが、誰でもより良い答えを出すことができますか?
編集:これはコミュニティのwikiなので、閉じるのに投票するのではなく、どのタイプの$ Shellを必要とする状況の例を提供できます
起動スクリプト
Bashが起動すると、さまざまなスクリプトでコマンドが実行されます。
Bashが対話型ログインシェルとして呼び出されると、/ etc/profileファイルが存在する場合、そのファイルからコマンドを読み取り、実行します。そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、および〜/ .profileをこの順序で検索し、存在し、読み取り可能な最初のコマンドからコマンドを読み取って実行します。
ログインシェルが終了すると、Bashは〜/ .bash_logoutファイル(存在する場合)からコマンドを読み取って実行します。
ログインシェルではないインタラクティブシェルが起動すると、Bashは〜/ .bashrcからコマンドを読み取って実行します(そのファイルが存在する場合)。 --norcオプションを使用すると、これを禁止できます。 --rcfile fileオプションは、Bashが〜/ .bashrcの代わりにfileからコマンドを読み取って実行するように強制します。
ログインシェルのプロファイルファイルでは、セッション中に使用するいくつかの設定を行うことができます。これらは一度だけ実行する必要があります。いくつかのアイデア:
非ログインシェルのファイル(.bashrc
)では、シェルを構成する必要があります。
.bash_profile
に保存されたssh-agent変数をロードする通常、.bashrc
の.bash_profile
を次のように含めます。次に、ログインシェルはすべてのカスタマイズを取得し、.bash_profile
ファイルは、.bashrc
に既にあるものを複製する必要はありません。
[[ -f ~/.bashrc ]] && . ~/.bashrc