解決策 1:
08 と 11 20 に固有です 、一方 38 独自のシェル固有の構成ファイルがない場合、多くのシェルによって読み取られます。 (41 オリジナルの Bourne シェルで使用されていました。) 52 または 69 79 とともに、ログイン シェルによって読み取られます。;サブシェル読み取り専用 87 . (ジョブ制御と最新のウィンドウ システムの間では、94 それ自体はあまり使いません。 109 を使用する場合 または 114 、画面/ウィンドウは通常、ログイン シェルの代わりにサブシェルを実行します。)
この背後にある考え方は、1 回限りのセットアップは 126 によって行われるというものでした。 (またはそのシェル固有のバージョン)、および 139 によるシェルごとのもの .たとえば、通常、セッション内でサブシェルを起動するたびに環境変数を強打するのではなく、セッションごとに 1 回だけ環境変数をロードする必要がありますが、エイリアスは常に必要です (環境変数のように自動的に伝播されません)。
その他の注目すべきシェル構成ファイル:
145 (フォールバック 159 ) は、ユーザーの 166 の前に読み取られます システム全体の構成、および同様に 177 サブシェルで(これにはフォールバックはありません)。 Ubuntu を含む多くのシステムも 182 を使用しています 199 であるシェル スクリプトレットを含むディレクトリ (209 )-ed from 218;ここのフラグメントはシェルごとで、221 です すべての Bourne/POSIX 互換シェルに適用され、その特定のシェルに適用されるその他の拡張機能。
解決策 2:
.profile
231 245 に特に関連しないもの用です 、環境変数 259 など いつでも利用できるはずです。
例:264 グラフィカル デスクトップ セッションの開始時にもロードする必要があります。
.bashrc
275 284 のように、インタラクティブな Bash の使用を構成するためのものです。 、お気に入りの 297 を設定します 、 307 を設定する など
.bash_profile
.bash_profile は、310 の両方を確認するためのものです。 と 324 334 に読み込まれます .
例:346 のような単純なものかもしれません
. ~/.profile
. ~/.bashrc
358 を省略した場合 、367のみ
解決策 3:
bash の man ページによると、373 386 の間、ログイン シェルに対して実行されます。 インタラクティブな非ログイン シェルに対して実行されます。
では、ログイン シェルまたは非ログイン シェルとは何ですか?
コンソール経由でログイン (ユーザー名とパスワードを入力) する場合、マシンの前に座っているか、ssh 経由でリモートから:399 は、最初のコマンド プロンプトの前にシェルを構成するために実行されます。 ウィンドウ コマンド プロンプトの前に実行されます。 417 426 と入力して新しい bash インスタンスを開始したときにも実行されます
ターミナル ウィンドウのガイドラインの例外は、Mac OS X の Terminal.app です。これは、新しいターミナル ウィンドウごとにデフォルトでログイン シェルを実行し、434 を呼び出します。 440 の代わりに .他の GUI 端末エミュレーターも同じことをするかもしれませんが、ほとんどの場合そうではありません。
詳細はこちら