GNU/Linux >> Linux の 問題 >  >> Linux

.profile .bash_profile と .bashrc の機能上の違いは何ですか?

解決策 1:

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

詳細はこちら


Linux
  1. InnoDBとMyISAMの違いは何ですか?

  2. 主流の*nixシェル間の基本的な違いは何ですか?

  3. Linux – BsdベースとLinuxベースのオペレーティングシステムの主な違いは何ですか?

  1. 〜/ .profileと〜/ .bash_profileの違いは?

  2. Ubuntuで出荷されたカーネルとアップストリームカーネルの違いは何ですか?

  3. FedoraとUbuntu:主な違いは何ですか?

  1. Linux での lsof と netstat の違いは何ですか?

  2. Linux と Windows の .txt ファイル (Unicode エンコーディング) の違いは何ですか?

  3. ls と l はどう違いますか?