Linux では、環境変数はシステムの事前定義パラメータを指します。環境変数はグローバル変数に相当し、すべてのシェルに存在し、継承があり、シェル セッションと作業環境に関する情報を保存できます。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
1.1 環境変数の意味
Environment変数は一般的なものです。オペレーティング システムの動作環境を指定するいくつかのパラメータ、つまりシステムによって事前に定義されているパラメータを指します。ポインタに相当しますが、変数の値を確認したい場合は「$」を付ける必要があります。
環境変数は bash シェルの機能であり、シェル セッションと作業環境に関する情報を保存するために使用されます。データをメモリに保存して、シェル上で実行されるプログラムやスクリプトからアクセスできるようにします。このデータは、ユーザー、システム、シェル特性、および保存する必要があるその他のデータを識別するために使用できます。
1.2 環境変数の分類
1.2.1 動作範囲による
Linux の変数は、環境変数とローカル変数に分けることができます:
1) 環境変数: グローバル変数に相当し、すべてのシェルに存在し、継承されます;
2) ローカル変数 変数: 現在のシェル内にのみ存在するローカル変数と同等です。ローカル変数には環境変数が含まれますが、環境変数以外の変数には継承がありません。
1.2.2 ライフサイクルによる
1) 永続的: 構成ファイルを変更する必要があり、変数は永続的に有効になります。 2) 一時的: エクスポート定義を使用します。シェルを閉じた後は無効になります。
2. 環境変数の構成方法各プログラムには、文字ポインターの配列である環境テーブルがあります。ポインタは、'\0' で終わる環境文字列を指します。 Main 関数の 3 番目のパラメータは、環境テーブルのアドレスです。
3. 共通の環境変数3.1 PATH この変数はコマンドの検索を指定します。パス。
【例】
説明: これにより、カレントディレクトリの PATH の値がわかります。これは、現在のディレクトリで実行される各命令の検索パスを表し、各ディレクトリはコロンで区切られます。命令が実行されると、システムはシステム ファイル内でその命令を検索し、見つかった場合は実行しますが、見つからない場合は実行しません。
3.2 HOME この変数は、ユーザーのホーム作業ディレクトリを指定します。これは、ユーザーが Linux システムにログインするときのデフォルトのディレクトリです。
3.2.1 一般ユーザーのメイン作業ディレクトリ[例]
3.2 .2 スーパーユーザーの下のメイン作業ディレクトリ[例]
説明: 環境変数は、環境変数によって値が変化する変数です。ユーザーは人によって異なります。
3.3 HISTSIZE この変数は、保存する履歴コマンドの数を指定します。
【例】
説明: Linux システムには最大 1,000 件のコマンド レコードが保存されます。
3.4 LOGNAME この変数は、表示するユーザーのログイン名を指定します。
【例】
3.5 HOSTNAME この変数はホスト名を指定します。
【例】
##3.6 SHELLこの変数は、ユーザーが現在使用しているシェルを指定します。パーサー。
【例】4. 環境変数を変更・表示するコマンド
#このコマンドは、環境変数の値を表示するために使用されます。
4.2 環境このコマンドは、すべての環境変数と値を表示するように指定します。 【例】 4.3 set このコマンドはローカル変数を指定します。 【例】 4.4 エクスポート このコマンドは、新しい環境変数。 【例】 #注: 環境変数は通常、大文字の英字と下線で表されます。 4.5 unset このコマンドは、環境変数のクリアを指定します。 【例】 4.6 readonly このコマンドは、環境変数の読み取りのみ。 【例】 5.1 /etc/profile このファイルの機能は、ログを記録することです。ユーザーがログインするときに、システム環境変数を毎回 1 回だけ取得します。 5.2 /etc/bashrc /etc/profile ファイルが実行された後、ユーザーは bash シェルを開きたい場合にファイルを読み取ります。 bash シェルを開くたびに特定の操作を実行したい場合は、このファイルで設定できます。 5.3 ~/.bash_profile 各ユーザーは、このファイルを使用して、自分専用のシェル情報を入力できます。このファイルは、ユーザーのログイン時に 1 回だけ実行されます。デフォルトでは、いくつかの環境変数が設定され、ユーザーの .bashrc ファイルが実行されます。 単一ユーザーによるこのファイルの変更は、その後のシステムへのログインにのみ影響します。したがって、ここで 1 人のユーザーに対して特別な環境変数や特別な操作を設定すると、ログインするたびにこれらの新しい環境変数を取得したり、特定の特別な操作を実行したりできます。ただし、ログイン時のみです。 5.4 ~/.bashrc このファイルには、ログイン時および新しいシェルが開かれるたびに、1 人の bash シェル専用の bash 情報が含まれます。 1 人のユーザーによるこのファイルの変更は、システムにログインするたび、および新しい bash を開くたびに影響します。したがって、ここで 1 人のユーザーに対して特別な環境変数や特別な操作を設定すると、システムにログインするたび、または新しい bash を開くたびに、対応する特別な環境変数や特別な操作が取得されます。 5.5 ~/.bash_logout システムを終了する (bash シェルを終了する) たびに、このファイルを実行します。 [例 1] 注: コマンド ライン No. 3 最初のパラメータは環境テーブルのアドレスで、文字配列ポインタです。 実行結果: 実行結果: 説明: 「export MY_ENV=Love」は、サブプログラムに継承できる環境変数をエクスポートします。 「 MY_ENV=Love」は通常の変数をエクスポートし、継承を持ちません (getenv 関数と同じ)。 関連する推奨事項: 「Linux ビデオ チュートリアル 」
説明: 環境変数 MY_ENV を読み取り専用モードに設定した後は、ユーザーがログアウトするまで変更できません。 5. 環境変数を保存するファイル
6. コードを通じて環境変数を取得します
7. システム コールを通じて環境変数を取得または設定する
通常、特定の環境変数にアクセスするには、環境変数を使用するのではなく、getenv 関数と putenv 関数を使用します。ただし、環境全体を表示したい場合は、environ ポインターを使用する必要があります。 【例 1】
実行結果:
【例 2】
以上がLinuxの環境変数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。