環境変数は、システムやプログラムが動作する際に必要な設定情報を保持します。env
、export
、unset
を使って環境変数を確認・設定・削除する方法を解説します。
この記事では、具体的なコマンド例と結果を提示しながら、環境変数の効果的な管理方法を学習します。
環境変数とは?
環境変数とは、システムやアプリケーションに設定情報を伝えるための「グローバル変数」です。
たとえば、シェルの設定やプログラムの動作に関する情報(PATHやHOMEなど)が含まれます。
Linuxでこれらの変数を操作することは、システムの動作を制御する上で非常に重要です。
envコマンド:環境変数を一覧表示する
env
コマンドは、現在のシェルセッションで設定されているすべての環境変数を一覧表示します。
基本構文
env
使用例
$ env
USER=yourname
HOME=/home/yourname
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
この例では、ユーザ名、ホームディレクトリ、コマンドの検索パスなどが表示されています。
オプション
env -u [変数名]
:指定した環境変数を無効にして新しいコマンドを実行。
env -u HOME ls
exportコマンド:シェル変数を環境変数に設定する
export
コマンドは、シェル変数を環境変数として設定し、
シェルの子プロセス(他のスクリプトやプログラム)にもその変数を引き継ぐことができます。
基本構文
export 変数名=値
使用例
export MY_VAR="Hello, World"
これで、MY_VAR
が環境変数として設定され、
シェルの子プロセスでも使用できるようになります。
exportの確認方法
env
コマンドで確認することができます。
$ env | grep MY_VAR
MY_VAR=Hello, World
オプション
export -n [変数名]
:環境変数からシェル変数を解除する。
export -n MY_VAR
export -p
:現在のすべての環境変数を表示。
export -p
unsetコマンド:シェル変数や環境変数を削除する
unset
コマンドは、指定されたシェル変数や環境変数を削除するために使用します。
基本構文
unset 変数名
使用例
unset MY_VAR
このコマンドで、MY_VAR
は削除され、シェルやその子プロセスで利用できなくなります。
注意点
unset
は一度削除すると元に戻せないため、慎重に使用する必要があります。
また、重要な環境変数(例:PATHなど)を削除すると、システムの動作に悪影響を与えることがあります。
その他の関連コマンド
printenv:特定の環境変数を表示
printenv
コマンドを使って、特定の環境変数の値を表示できます。
printenv PATH
set:シェル変数と環境変数の両方を表示
set
コマンドは、シェル変数と環境変数の両方を表示します。env
が環境変数のみを表示するのに対して、set
は全ての変数を確認するのに適しています。
set
環境変数を一時的に設定する
コマンド実行時のみ環境変数を一時的に設定することができます。
これは、そのコマンドの実行が完了すると変数が消えるため、特定の処理にだけ影響を与えたい場合に便利です。
使用例
MY_VAR="Temporary Value" some_command
このコマンドでは、some_command
が実行されている間だけMY_VAR
が設定され、終了すると元に戻ります。
実践例:PATHのカスタマイズ
PATH
環境変数は、システムがコマンドを探す際に使用するディレクトリを指定します。
たとえば、新しいディレクトリをPATH
に追加するには、export
コマンドを使用します。
例
export PATH=$PATH:/usr/local/my_program/bin
このコマンドで、/usr/local/my_program/bin
がPATH
に追加され、
システムはそのディレクトリでコマンドを探すようになります。
まとめ
環境変数は、システムの動作に大きな影響を与える重要な設定情報です。env
で確認し、export
で設定し、unset
で削除する基本操作をマスターすることで、
より高度なシステム管理が可能になります。
システムの設定やプログラムの動作を制御するために、適切に環境変数を管理することが重要です。