ホームページ >運用・保守 >Linuxの運用と保守 >Linuxの環境変数とは何ですか

Linuxの環境変数とは何ですか

青灯夜游
青灯夜游オリジナル
2021-11-30 17:08:269127ブラウズ

Linux では、環境変数はシステムの事前定義パラメータを指します。環境変数はグローバル変数に相当し、すべてのシェルに存在し、継承があり、シェル セッションと作業環境に関する情報を保存できます。

Linuxの環境変数とは何ですか

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

1. 環境変数の概念

1.1 環境変数の意味

Environment変数は一般的なものです。オペレーティング システムの動作環境を指定するいくつかのパラメータ、つまりシステムによって事前に定義されているパラメータを指します。ポインタに相当しますが、変数の値を確認したい場合は「$」を付ける必要があります。

環境変数は bash シェルの機能であり、シェル セッションと作業環境に関する情報を保存するために使用されます。データをメモリに保存して、シェル上で実行されるプログラムやスクリプトからアクセスできるようにします。このデータは、ユーザー、システム、シェル特性、および保存する必要があるその他のデータを識別するために使用できます。

1.2 環境変数の分類

1.2.1 動作範囲による

Linux の変数は、環境変数とローカル変数に分けることができます:

1) 環境変数: グローバル変数に相当し、すべてのシェルに存在し、継承されます;

2) ローカル変数 変数: 現在のシェル内にのみ存在するローカル変数と同等です。ローカル変数には環境変数が含まれますが、環境変数以外の変数には継承がありません。

1.2.2 ライフサイクルによる

1) 永続的: 構成ファイルを変更する必要があり、変数は永続的に有効になります。 2) 一時的: エクスポート定義を使用します。シェルを閉じた後は無効になります。

2. 環境変数の構成方法

Linuxの環境変数とは何ですか各プログラムには、文字ポインターの配列である環境テーブルがあります。ポインタは、'\0' で終わる環境文字列を指します。 Main 関数の 3 番目のパラメータは、環境テーブルのアドレスです。

3. 共通の環境変数

3.1 PATH この変数はコマンドの検索を指定します。パス。

【例】

Linuxの環境変数とは何ですか 説明: これにより、カレントディレクトリの PATH の値がわかります。これは、現在のディレクトリで実行される各命令の検索パスを表し、各ディレクトリはコロンで区切られます。命令が実行されると、システムはシステム ファイル内でその命令を検索し、見つかった場合は実行しますが、見つからない場合は実行しません。

3.2 HOME この変数は、ユーザーのホーム作業ディレクトリを指定します。これは、ユーザーが Linux システムにログインするときのデフォルトのディレクトリです。

3.2.1 一般ユーザーのメイン作業ディレクトリ

[例]

Linuxの環境変数とは何ですか

3.2 .2 スーパーユーザーの下のメイン作業ディレクトリ

[例]

Linuxの環境変数とは何ですか説明: 環境変数は、環境変数によって値が変化する変数です。ユーザーは人によって異なります。

3.3 HISTSIZE この変数は、保存する履歴コマンドの数を指定します。

【例】

Linuxの環境変数とは何ですか説明: Linux システムには最大 1,000 件のコマンド レコードが保存されます。

3.4 LOGNAME この変数は、表示するユーザーのログイン名を指定します。

【例】

Linuxの環境変数とは何ですか

3.5 HOSTNAME この変数はホスト名を指定します。

【例】

Linuxの環境変数とは何ですか

##3.6 SHELL

この変数は、ユーザーが現在使用しているシェルを指定します。パーサー。

【例】

Linuxの環境変数とは何ですか4. 環境変数を変更・表示するコマンド

4.1 echo

#このコマンドは、環境変数の値を表示するために使用されます。

4.2 環境

このコマンドは、すべての環境変数と値を表示するように指定します。

【例】

Linuxの環境変数とは何ですか

4.3 set

このコマンドはローカル変数を指定します。

【例】

Linuxの環境変数とは何ですか

4.4 エクスポート

このコマンドは、新しい環境変数。

【例】

Linuxの環境変数とは何ですか

#注: 環境変数は通常、大文字の英字と下線で表されます。

4.5 unset

このコマンドは、環境変数のクリアを指定します。

【例】

Linuxの環境変数とは何ですか

4.6 readonly

このコマンドは、環境変数の読み取りのみ。

【例】

Linuxの環境変数とは何ですか
説明: 環境変数 MY_ENV を読み取り専用モードに設定した後は、ユーザーがログアウトするまで変更できません。

5. 環境変数を保存するファイル

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 シェルを終了する) たびに、このファイルを実行します。

6. コードを通じて環境変数を取得します

[例 1]

Linuxの環境変数とは何ですか

注: コマンド ライン No. 3 最初のパラメータは環境テーブルのアドレスで、文字配列ポインタです。

実行結果:

Linuxの環境変数とは何ですか

##[例 2] サードパーティ変数環境を通過する

Linuxの環境変数とは何ですか

実行結果:

Linuxの環境変数とは何ですか

注: libc で定義されたグローバル変数 environ は、環境変数テーブルを指します。environ はどのヘッダー ファイルにも含まれていないため、extern で宣言する必要があります使用するとき。

7. システム コールを通じて環境変数を取得または設定する

通常、特定の環境変数にアクセスするには、環境変数を使用するのではなく、getenv 関数と putenv 関数を使用します。ただし、環境全体を表示したい場合は、environ ポインターを使用する必要があります。

【例 1】

Linuxの環境変数とは何ですか

実行結果:

Linuxの環境変数とは何ですか

【例 2】

Linuxの環境変数とは何ですか

実行結果:

Linuxの環境変数とは何ですか

説明: 「export MY_ENV=Love」は、サブプログラムに継承できる環境変数をエクスポートします。 「 MY_ENV=Love」は通常の変数をエクスポートし、継承を持ちません (getenv 関数と同じ)。

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がLinuxの環境変数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。