私はログインシェルと非ログインインタラクティブシェルの違いを理解していますが、前者がsource ~/.bash_profile
1で後者がsourceである理由をまったく理解していません~/.bashrc
。
私が知る限り、~/.bash_profile
いくつかのソースから見たすべての例は~/.bashrc
。したがって、実際に質問は次のように要約されます。なぜ~/.bash_profile
ログインシェルにソースコードのみを提供するのですか?
一部の環境変数は一度だけ設定する必要があり、繰り返し購入を許可する方法でこれらの設定の一部を作成するのは少し難しいかもしれません。たとえば、次のようなコレクションがあるとします~/.bash_profile
。PATH
PATH=/my/custom/path:$PATH
これらのリソースを複数回検索すると、最初にインスタンスが~/.bash_profile
重複します。このような重複を避けるように設定を作成することはそれほど難しくありませんが、上記の設定の単純さと利便性を上回ることは困難です。/my/custom/path
PATH
PATH
~/.bash_profile
これらの冗長設定を処理するために必要な追加の複雑さを避けることが、ログインシェルを介して設定される主な理由ですか?
それとも、ログインおよび非ログインインタラクティブシェルの共通初期化ファイルがないというより重要な理由はありますか?
1私が言及した内容のほとんどは「または」~/.bash_profile
で置き換える必要があります。省略された単純化が真実を損なわないことを願っています。~/.bash_profile
~/.profile
~/.profile