Linuxでの環境変数管理:env、export、unsetの使い方

  • URLをコピーしました!

環境変数は、システムやプログラムが動作する際に必要な設定情報を保持します。
envexportunsetを使って環境変数を確認・設定・削除する方法を解説します。
この記事では、具体的なコマンド例と結果を提示しながら、環境変数の効果的な管理方法を学習します。

目次

環境変数とは?

環境変数とは、システムやアプリケーションに設定情報を伝えるための「グローバル変数」です。
たとえば、シェルの設定やプログラムの動作に関する情報(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/binPATHに追加され、
システムはそのディレクトリでコマンドを探すようになります。

まとめ

環境変数は、システムの動作に大きな影響を与える重要な設定情報です。
envで確認し、exportで設定し、unsetで削除する基本操作をマスターすることで、
より高度なシステム管理が可能になります。
システムの設定やプログラムの動作を制御するために、適切に環境変数を管理することが重要です。

    目次