ホームページ >システムチュートリアル >Linux >Linux での環境変数の使用は同じライフサイクルによって分割されます
###序文:###
1. 環境変数はオペレーティング システム環境によって設定される変数であり、システム全体のユーザー プロセスに適用されます。
2. コマンド内で環境変数を設定できますが、ユーザーがログアウトすると設定値は失われます。3. 繰り返し適用したい場合は、.profile で定義するのが最善です; 環境変数の使用はローカル変数の使用と同じです。
4. また、使用する前に、export コマンドを使用してインポートする必要があります。1. 環境変数ファイルの概要
Linux の環境変数には、システム レベルとユーザー レベルが含まれます。システム レベルの環境変数は、システムにログインするすべてのユーザーが読み取る必要があるシステム変数ですが、ユーザー レベルの環境変数は、ユーザーがシステムを使用するときに読み込まれます。 . 環境変数なので、環境変数を管理するファイルもシステムレベルとユーザーレベルに分かれています。
2. Linux の変数の型
変数のライフサイクルによって定義される Linux 変数は、次の 2 つのカテゴリに分類できます。
1. 永続的: 設定ファイルを変更する必要があり、変数は永続的に有効になります
2. 一時的:export コマンドを使用して宣言します。シェルを閉じると変数は無効になります
3. Linux 環境変数ファイル
Linux 変数ファイルには、/etc/environment、/etc/profile、~/.profile、/etc/bash.bashrc、~/.bashrc、および ~/.bash_profile (通常はユーザーが独自のディレクトリに作成します) が含まれます。 ~/.bash_logout.
システムレベル:
1./etc/environment: ログイン時にシステムによって読み取られる最初のファイルです。このファイルは、システム全体の環境を設定します。このファイルは、システムの起動時にのみ読み取られます。redhat linux ダウンロードは、次の目的で使用されます。 all プロセスは環境変数を設定します。システムがこのファイルを使用する場合、このファイル内のコマンドは実行されません。代わりに、KEY=VALUE モードのコードに従い、VALUE を KEY パラメータに設定します。したがって、PATH 環境変数をファイルに次の形式の行を追加するだけです: PATH=$PATH:/xxx/bin のコードは
2./etc/profile: このファイルは、システムのログイン時に実行される 2 番目のファイルです。システムのユーザーごとに環境情報を設定するファイルで、ユーザーの初回ログイン時に実行されます。そして、/etc/profile.d ディレクトリーの構成ファイルからシェル設定を収集します。 (/etc/profile を使用して、システム全体のすべてのユーザーの環境変数を設定できます。環境変数の期間は永続的です)
3./etc/bashrc: すべてのユーザー用の bash 初期化ファイルです。ここで設定した環境変数は、すべてのユーザーのシェルに適用されます。このファイルは、ユーザーがシェルを開くたびに実行されます。 (つまり、新しいターミナルが開かれるたびに、/etc/bashrc が実行されます)。
ユーザーレベル (このファイルはホームディレクトリにあります):
1.~/.profile: 現在ログインしているユーザーに対応するプロファイル ファイル。現在のユーザーの個人作業環境をカスタマイズするために使用されます (変数は永続的です)。各ユーザーはこのファイルを使用して、自分専用のシェルに入ることができます。情報、ユーザーがログインすると、このファイルは 1 回だけ実行されます! デフォルトでは、いくつかの環境変数が設定され、ユーザーの .bashrc ファイルが実行されます。これは、個人設定を配置するための推奨される場所です。
2.~/.bashrc: このファイルには、bashshell に固有の bash 情報が含まれています。このファイルは、ログイン時および新しいシェルが開かれるたびに読み取られます。 (~/.bashrc は現在のユーザー専用であり、変数のライフサイクルは永続的です)シェルを開くたびにこのファイルが一度読み取られるため、ここに置くことはお勧めできません。
Linux システムでは、デフォルトのシェルは何ですか? 効率は確実に向上します。影響を受ける。
3.~/.bash_profileor~./bash_login:~/.bash_profile は対話型ログイン モードで実行中の bash に入るのに使用され、~/.bashrc は対話型の非ログイン モードで実行中の bash に入るのに使用されます。 2 つのうちの 2 つはほぼ同じです。 は同じなので、通常は後者が前者を呼び出します。各ユーザーはこのファイルを使用して、自分の用途に固有のシェル情報を入力できます。ユーザーのログイン時に、このファイルは 1 回だけ実行されます。デフォルトでは、いくつかの環境変数を設定し、ユーザーの .bashrc ファイルを実行します。 (~/ ディレクトリに .bash_profile がない場合は、新しいものを作成します) これは、個人設定を配置するための推奨される場所です。シェルを閉じると、bash_profile で定義されたシステム変数は無効になります。これを行うには、新しいシェルが開かれるたびに、現在のユーザーに対してもsourcebash_profileを実行する必要があります。
4.~/.pam_environment: ユーザーレベルの環境変数設定ファイルですが、テストしていないので動作するかはわかりません。
5.~/.bash_logout: システムを終了する (bashshell を終了する) たびに、このファイルを実行します。さらに、/etc/profile に設定された変数 (グローバル) はすべてのユーザーに影響を与えることができますが、~/.bashrc に設定された変数 (ローカル) は /etc/profile の変数のみを継承できます。これらは「母と子」です。関係。
4. Linux 環境変数ファイルの実行順序
1. Linux にログインするときにファイルを実行するプロセスは次のとおりです:
Linux に初めてログインするとき
Linux システムのデフォルトのシェルは何ですか, まず、/etc/profile ファイルを開始します。 その後、ユーザー ディレクトリ内の ~/.bash_profile、~/.bash_login、または ~/.profile ファイルのいずれかを開始します。ホスト ディレクトリ内のファイルの実行順序は次のとおりです: ~/.bash_profile->~/.bash_login->~/.profile。 ~/.bash_profile ファイルが存在する場合、通常は ~/.bashrc ファイルが実行されます。 通常、~/.bash_profile ファイルには次のコードがあるためです。
ユーザーのシェル初期化では、最初に /etc/profile が実行され、次にファイル /etc/environment が読み取られます。システム全体では、/etc/environment が最初に実行されます。これは正しい理解ですか? システムにログインするときの順序は次のとおりです: /etc/enviroment-->/etc/profile-->HOME/.profile--->HOME/.env (存在する場合) /etc/profile はすべてのユーザーの環境変数です /etc/enviroment はシステム環境変数です システムにログインするときのシェルの読み取り順序は次のようになります: /etc/profile->/etc/enviroment-->HOME/.profile--->HOME/.env ユーザー環境とシステム環境の違いが原因であるはずですが、ユーザー環境(/etc/profile)とシステム環境(/etc/environment)で同じ変数の値が異なる場合は、ユーザー環境に基づいてください。 5. Linux における一般的な環境変数とその機能 Linux の一般的な環境変数は次のとおりです: 1.PATH: コマンドの検索パスを指定します 2.HOME: ユーザーのホーム作業ディレクトリ (つまり、ユーザーが Linux システムにログインするときのデフォルトのディレクトリ) を指定します。
9.PS1: 基本的なコマンド プロンプトは、root ユーザーの場合は #、一般ユーザーの場合は $ です。 10.PS2: 補助プロンプト、デフォルトは「>」です。 注: この環境変数を変更すると、現在のコマンド プロンプトを変更できます。たとえば、次のコマンドはプロンプトを文字列「Hello,MyNewPrompt」に変更します。 #PS1="こんにちは、MyNewPrompt" 注: 上記の変数の名前は固定されていません。たとえば、一部の Linux システムでは、HOSTNAME が HOST 実際には、私がリストした上記の環境変数はすべてを網羅しているわけではありません。 Linux には、環境変数を変更および表示するコマンドも用意されています。以下にいくつかの例を示します: 1.echo は特定の環境変数値 echo$PATH 2.export は、新しい環境変数 exportHELLO="hello" (カンマなしでも可) を設定し、[エクスポート変数名 = 変数値] を直接使用して、シェル コマンド ラインで変数を定義します。この変数は、現在のシェルです。(BASH) またはそのサブシェル (BASH) で有効です。シェルを閉じると、変数は無効になります。新しいシェルを開くと、変数は存在しません。使用する必要がある場合は、再定義する必要があります。 3.env はすべての環境変数を表示します 4.set は、ローカルに定義されたシェル変数 (システムに既に存在する) と、シェル変数を設定するための新しい変数値を表示します。値が指定されていない場合、変数値は NULL に設定されます。 5.unset は環境変数 unsetHELLO 6.readonly は、読み取り専用の環境変数 readonlyHELLO を設定します。readonly コマンドが使用される場合、変数を変更またはクリアすることはできません
以上がLinux での環境変数の使用は同じライフサイクルによって分割されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。