はじめに
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]
このコマンドは、ターミナルコマンドを介してエクスポートされた変数を完全に削除します。
構成ファイルに保存されている変数も、現在のシェルセッションから削除されます。ただし、次回のログイン時に再度設定されます。
ファイルに保存した変数の設定を完全に解除するには、ファイルに移動して、変数定義を含む行を削除します。