環境変数は、シェルで定義され、プログラムの実行中に必要となる変数の一種です。これらは、さまざまな操作を実行するためにシェルプログラムでよく使用されます。
変数のスコープは、変数にアクセスまたは定義できる領域を指します。 Linuxでは、環境変数のスコープはグローバル/システム全体またはローカルのいずれかになります。 Linuxの環境変数の一般的な例は次のとおりです。
- PWD –現在の作業ディレクトリのパスを表示します
- HOME –ホームディレクトリのパスを示します
- HOSTNAME –ホストの名前を出力します
- EDITOR –デフォルトのファイルエディタを表示します
このガイドでは、Linuxで環境変数を設定および設定解除する方法を学習します。
exportコマンドを使用して環境変数を設定します
環境変数を設定する簡単な方法は、exportコマンドを使用することです。変数にシェルでアクセスするために使用される名前とデータを保持するための値を指定する必要があります
構文:
$ export NAME = VALUE
たとえば、変数名を設定します
$ export VAR ="value"
exportコマンドを使用すると、環境変数は現在のシェルセッションに対してのみ設定されます。その結果、新しい端末を開いたり、システムを再起動したりすると、環境変数にアクセスできなくなります。
シェルに環境変数の値を出力するには、示されているコマンドのいずれかを使用できます;
$ printenv variable
$ echo $variable
注:echoコマンドを使用する場合は、変数名の前にドル記号を付ける必要があります。
Linuxでユーザー全体の環境変数を設定する
これらは特定のユーザーに対して定義された変数であり、そのユーザーがローカルまたはリモートのログインセッションを介してログインするたびに実行されます。これらは、ユーザーのホームディレクトリにある次の構成ファイルに設定およびロードされます: bashrc、.bashプロファイル、.bashログイン、 および.profile。
.bashrcファイルの使用
。bashrc fileは、ユーザーが新しいターミナルセッションを開くたびに読み込まれるスクリプトです。このファイルの環境変数は、新しいセッションが開始されるたびに実行されます。
たとえば、次のように変数NEW_VARを.bashrcファイルに追加します。
$ sudo vi .bashrc
$ export NEW_VAR =”Linux”
ファイルを保存し、変更を適用するために次のソースコマンドを使用して.bashrcファイルをリロードします。
$ source ~/.bashrc
新しい変数を出力します:
$ echo $NEW_VAR
新しいセッションを開いたり、システムを再起動したりしても、変数は永続的になります
.bash_profileの使用
リモートログインセッションで使用できる環境変数を追加するには、.bash_profileファイルを変更します。
$ sudo vi .bash_profile
$ export $VAR1 ="Linux"
次に、変更を有効にするために、次のソースコマンドを使用して.bashrcファイルをリロードします。
$ source ~/.bash_profile
新しい変数を出力します:
$ echo $VAR1
Linuxでシステム全体の環境変数を設定する
これらはシステム全体の環境変数であり、システム上のすべてのユーザーが利用できることを意味します。これらの変数は、システム全体の構成ファイルを含む次のディレクトリおよびファイルにあります:/etc/environment、/etc/profile、/etc/profile.d/、/etc/bash.bashrc、/etc/profile.d /、/etc/profile.d/、/etc/profile.d/、/etc/profile.d/、/etc/profile
/etc/bash.bashrcファイルの使用
システム全体の環境変数を/etc/bash.bashrcに追加します ファイル。ユーザーが新しい端末を起動したときに利用できるようになりますが、リモートでアクセスすることはできません。
$ export VAR1='Linux'
ここで、変更を有効にするために/etc/bash.bashrcファイルをリロードします。
$ source /etc/bash.bashrc
上記の出力から、通常のユーザーとルートの両方が変数にアクセスできます。
/ etc/profileファイルの使用
システム上のいずれかのユーザーがリモートでアクセスしているときに使用できる環境変数を追加するには、「/ etc/profile」を変更します。 ファイル。変数を追加した後、ファイルをリロードします。
$ sudo vi /etc/profile
$ export VAR='Linux'
$ source /etc/profile
$ echo $VAR
上記の例から、変数はリモートでログインした新しいユーザーが利用できます
/ etc/environmentファイルの使用
ローカルログインセッションとリモートログインセッションの両方ですべてのユーザーが使用できる環境変数を追加するには、 / etc / environmentに変数を追加します。 ファイル。
$ sudo vi /etc/environment
$ export MY_VAR='Linux'
$ source /etc/environment
$ echo $MY_VAR
Linuxでの未設定の環境変数
システムで環境変数を設定する方法を学習したので、不要になった場合は削除する必要があるかもしれません。
Linuxで環境変数の設定を解除するには、unsetコマンドを使用するか、システム構成ファイルから変数エントリを削除します。
Linuxで環境変数の設定を解除するには、次の構文を使用します。
$ unset <variable>
たとえば、上記の変数のいずれかを設定解除します。
$ unset NEW_VAR
これを確認するには、変数を出力します:
ターミナルには何も表示されません。
注 :システム全体またはユーザー全体の構成ファイルで定義された環境変数は、これらのファイルから削除するだけで消去できます。その後、変更を有効にするために、sourceコマンドを使用してファイルをリロードします。
$ source <file-name>
結論
Linuxでローカル環境変数と永続環境変数の両方を設定および設定解除する方法を見てきました。