解決策 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 端末エミュレーターも同じことをするかもしれませんが、ほとんどの場合そうではありません。
詳細はこちら