はじめに
Linuxでシェルセッションを開始するたびに、システムは構成ファイルを調べ、それに応じて環境をセットアップします。このプロセスでは、環境変数が重要な役割を果たします。
このチュートリアルでは、Linuxで環境変数を設定、表示、および設定解除する方法を学習します。
前提条件
- 任意のLinuxディストリビューション(Debian、Ubuntu、RHEL、CentOS…)
- コマンドラインへのアクセス
- sudo特権
環境変数とは:定義
環境変数は、シェル環境を設定するために必要な値を含む変数です。シェル変数とは異なり、環境変数はシェルの子プロセスに残ります。
構造的には、環境変数とシェル変数は同じです。どちらもキーと値のペアであり、等号で区切られています。
VARIABLE_NAME=value 変数に複数の値がある場合は、セミコロンで区切ります。
VARIABLE_NAME=value_1:value_2 スペースを含む変数は引用符で囲みます:
VARIABLE_NAME="Value text" 最も一般的な環境変数
平均的なユーザーが遭遇する可能性のある環境変数は次のとおりです。
-
PWD–現在の作業ディレクトリ。 -
HOME–ユーザーのホームディレクトリの場所。 SHELL–現在のシェル(bash、zshなど)。-
LOGNAME–ユーザーの名前。 -
UID–ユーザーの一意の識別子。 HOSTNAME–ネットワーク上のデバイスのホスト名。MAIL–ユーザーのメールディレクトリ。EDITOR–Linuxシステムのデフォルトのテキストエディタ。-
TEMP–一時ファイルのディレクトリの場所。
環境変数を確認する方法
すべての環境変数を表示
printenvを使用します すべての環境変数を表示するコマンド。リストには多くの変数があるため、 lessを使用してください ビューを制御するコマンド:
printenv | less 出力にはリストの最初のページが表示され、スペースを押してさらに先に進むことができます 次のページを表示するか、入力 次の行を表示するには:
Qを押して、ビューを終了します 。
単一の環境変数を検索する
単一の環境変数値を確認するには、次のコマンドを使用します。
printenv VARIABLE NAME
HOME 変数値はホームフォルダのパスです:
または、 echoを使用して変数の値を表示します 指図。構文は次のとおりです。
echo $[VARIABLE_NAME] 特定の環境変数を検索する
特定の文字列を含むすべての変数を検索するには、grepコマンドを使用します。
printenv | grep [VARIABLE_NAME]
USERの検索出力 変数は次の行を示しています:
環境変数をチェックするために使用できるもう1つのコマンドは、 setです。 。ただし、このコマンドには、ローカル変数、シェル変数、シェル関数も含まれます。
set | grep :
set | grep [VARIABLE_NAME] Linuxで環境変数を設定する
コマンドラインを使用して変数を設定する最も簡単な方法は、名前の後に値を入力することです。
[VARIABLE_NAME]=[variable_value]
1.例として、 EXAMPLEという変数を作成します テキスト値を使用します。コマンドを正しく入力すると、シェルは出力を提供しません。
2.set | grep コマンドは、変数の作成を確認します。ただし、 printenv 出力を返しません。
これは、この方法で作成された変数がシェル変数であるためです。
3.これを確認する別の方法は、 bashと入力することです。 子シェルセッションを開始します。 echoを使用する EXAMPLEを検索するコマンド 変数は出力を返さないようになりました:
環境変数をエクスポートする方法
1.シェル変数を環境変数に変換する場合は、親シェルに戻ってexportします。 エクスポートコマンドでそれを:
export [VARIABLE_NAME]
2. printenvを使用します エクスポートが成功したことを確認するには:
3.ここで子シェルセッションを開く場合は、 echo 環境変数値を返します:
この方法で作成された環境変数は、現在のシェルセッションを終了すると消えます。
Linuxで環境変数を永続的に設定する
シェルセッションを閉じた後も変数を保持したい場合は、それを環境変数として永続的に設定する必要があります。現在のユーザーまたはすべてのユーザーのどちらに設定するかを選択できます。
1. 1人のユーザーに永続的な環境変数を設定するには、 .bashrcを編集します ファイル:
sudo nano ~/.bashrc 2.次の構文を使用して、追加する変数ごとに1行を記述します。
export [VARIABLE_NAME]=[variable_value]
3.ファイルを保存して終了します。シェルを再起動すると、変更が適用されます。現在のセッション中に変更を適用する場合は、ソースコマンドを使用します。
source ~/.bashrc
4.すべてのユーザーに永続的な環境変数を設定するには、 .shを作成します /etc/profile.d内のファイル フォルダ:
sudo nano /etc/profile.d/[filename].sh
5.ファイルに変数を追加するための構文は、 .bashrcの場合と同じです。 :
6.ファイルを保存して終了します。変更は次回のログイン時に適用されます。
環境変数の設定を解除する方法
環境変数の設定を解除するには、 unsetを使用します コマンド:
unset [VARIABLE_NAME] このコマンドは、ターミナルコマンドを介してエクスポートされた変数を完全に削除します。
構成ファイルに保存されている変数も、現在のシェルセッションから削除されます。ただし、次回のログイン時に再度設定されます。
ファイルに保存した変数の設定を完全に解除するには、ファイルに移動して、変数定義を含む行を削除します。