ホームページ > 記事 > システムチュートリアル > インタラクティブシェルとプロファイルの違いをご存知ですか?
転載元:/u010127245/article/details/51689636
bashrc とプロファイルの違い
bashrc と profile の違い。まず、どちらが対話型シェルと非対話型シェルであり、どちらがログイン シェルと非ログイン シェルであるかを理解する必要があります。
対話型モードとは、シェルが入力を待ちますが、送信されたコマンドは実行することを意味します。これらのモードは、シェルがユーザーと対話するため、対話型と呼ばれます。これらのモードは、ログイン、いくつかのコマンドの実行、ログアウトなど、ほとんどのユーザーにとって馴染みのあるものです。サインバックすると、シェルも終了します。
シェルは別のモード、つまり非対話モードでも実行できます。これらのモードでは、シェルは Android Linux と対話せず、ファイルに保存されているコマンドを読み取り、実行します。ファイルの終わりに達すると、シェルは終了します。
Bashrc と profile は両方ともユーザーの環境情報を保存するために使用され、bashrc は対話型の非ログイン シェルに使用されますLinux インストールのクロスコンパイル環境変数、profile は対話型のログイン シェルに使用されます。システムには多数の bashrc ファイルとプロファイル ファイルがあります。以下に 1 つずつ紹介します。
/etc/pro このファイルは、システムの各ユーザーの環境情報を設定します。最初のユーザーがログインするときに、このファイルが実行されます。そして、/etc/profile.d ディレクトリ内の構成ファイルからシェル設定を収集します。
/etc/bashrc: bashshell を実行しているユーザーごとにこのファイルを実行します。bashshell が開かれると、このファイルが読み取られます。一部の Linux バージョンでは、/etc ディレクトリに bashrc ファイルがありません。
~/.pro 各ユーザーはこのファイルを使用して、自分専用のシェル情報を入力できます。ユーザーがログインすると、
ファイルは 1 回だけ実行されます! デフォルトでは、いくつかの環境変数が設定されてから、ユーザーの .bashrc ファイルが実行されます。
~/.bashrc: このファイルには、ユーザーの bash シェルに固有の bash 情報が含まれています。このファイルは、ユーザーがログインするとき、および新しいシェルが開かれるたびに読み取られます。
さらに、/etc/profile に設定された変数 (グローバル) はすべてのユーザーに影響を与えることができますが、~/.bashrc などに設定された変数 (ローカル) は /etc/profile の変数のみを継承できます。 「兄と妹」の関係。
要約:
/etc/profile、/etc/bashrc はシステムのグローバル環境変数設定です
~/.profile、~/.bashrc ユーザーのホームディレクトリのプライベート環境変数設定
システムログイン時にシェルプロセスを取得した場合、環境設定ファイルを読み取るには3つの手順があります
1 最初にグローバル環境変数設定ファイル /etc/profile を読み込み、その内容に応じて
などの追加の設定ドキュメントを読み込みます。/etc/profile.d および /etc/inputrc
2 その後、さまざまなユーザー アカウントに従って、ホーム ディレクトリに移動して ~/.bash_profile を読み取ります。これが読み取れない場合は、~/.bash_login を読み取ります。これが読み取れない場合は、それを読み取ります。
~/.profile、これら3つのドキュメントの設定は基本的に同じであり、読み取りが優先されます。
3 その後、ユーザーアカウントに応じて ~/.bashrcを読み込みます
~/.profileと~/.bashrcの違いについてすべてにパーソナライズされたカスタマイズ機能があります
~/.profile は、Linux システムに win7 をインストールするためのユーザー独自のパス、環境変数などを設定できます。ログイン時に 1 回のみ実行できます。
~/.bashrcもユーザー固有の設定文書で、パスやコマンドエイリアスを設定でき、シェルスクリプト実行ごとに1回使用されます。
[環境変数を設定する 3 つの方法]
$PATH にパスを追加する場合は、次の手順を実行できます:
1. Console North は、これらの手法の使用に同意しません。シェル
Linux インストールのクロスコンパイル環境変数を変更すると、設定が無効になるため、これらの方法は一時的なものにすぎません。使っていて、後で使うことになるので、再度設定し直す必要があり、かなり面倒です。これは特定のシェルのみに適用されます; $PATH="$PATH:/my_new_path" (シェルをオフにすると PATH が復元されます)
2.
/etc/profile ファイルを変更します。コンピュータが開発のみに使用されている場合は、これらの手法を使用することをお勧めします。すべてのユーザー シェルはこの環境変数を使用する権利を持っているため、システムにセキュリティ上の問題を引き起こす可能性があります。 (JDK 構成を推奨)
これはすべてのユーザーおよびすべてのシェルを対象としています;
$vi/etc/profile 追加:
exportPATH="$PATH:/my_new_path"
3.
.bashrc ファイルを変更します。これらの手法はより安全です。この環境変数を使用する権限をユーザー レベルに制御できます。これは特定のユーザー用です。この環境変数を使用する権限をユーザーに与える必要がある場合は、個人使用の場合は、ホーム ディレクトリ内の .bashrc ファイルを変更するだけで済みます。
$vi/root/.bashrc上に追加:
exportPATH="$PATH:/my_new_path"
後者の 2 つの方法を有効にするには、通常、システムから再度ログアウトする必要があります (再起動を防ぐには、$source~/.profile 最新情報を直接使用できます)。最後に、echo コマンドを使用してテストできます:
$echo$PATH 出力はすでに新しいパスです。
以上がインタラクティブシェルとプロファイルの違いをご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。