
【Linux】シェル変数と環境変数を操作するコマンド
シェル変数と環境変数は、シェルやプログラムの動作を制御するために使用されます。シェル変数は現在のシェルセッション内でのみ有効ですが、環境変数はその子プロセスでも有効です。これらの変数を操作するためのコマンドには、以下のものがあります。

シェル変数と環境変数を操作するコマンド
| コマンド | 概要 | 使用例 |
|---|---|---|
set | 現在のシェルセッションのすべての変数と関数を表示、設定、または変更するためのコマンド | set(すべての変数と関数の一覧を表示) |
env | 環境変数の一覧を表示し、新しいコマンドを特定の環境変数を設定した状態で実行 | env(現在の環境変数の一覧を表示)env VAR=value command(特定の環境変数を設定してコマンドを実行) |
printenv | 指定された環境変数の値を表示。変数名を指定しない場合、すべての環境変数を表示 | printenv(すべての環境変数を表示)printenv VAR(特定の環境変数の値を表示) |
export | シェル変数を環境変数としてエクスポートし、子プロセスでもその変数が利用できるようにする。 | export VAR=value(環境変数を設定)VAR=value; export VAR(環境変数を設定) |
unset | 指定されたシェル変数または環境変数を削除 | unset VAR(特定の変数を削除) |
declare | シェル変数を設定または宣言し、その属性を変更(主にBashで使用) | declare VAR=value(変数を宣言)declare -x VAR(環境変数として宣言) |
使用例と解説
1.set
「set」コマンドは現在のシェルセッション内で定義されているすべてのシェル変数と関数を一覧表示します。
# すべてのシェル変数と関数を表示
set2.env
「env」コマンドは現在の環境変数の一覧を表示するか、特定の環境変数を設定した状態でコマンドを実行します。
# 環境変数の一覧を表示
env
# 特定の環境変数を設定してコマンドを実行
env MYVAR="Hello" bash -c 'echo $MYVAR'3.printenv
「printenv」コマンドは特定の環境変数の値を表示するか、環境変数名を指定しない場合、すべての環境変数を表示します。
# 環境変数の一覧を表示
printenv
# 特定の環境変数の値を表示
printenv PATH4.export
「export」コマンドはシェル変数を環境変数としてエクスポートし、子プロセスでも利用できるようにします。
# 環境変数を設定
export MYVAR="Hello, World!"
# 環境変数の確認
printenv MYVAR5.unset
「unset」コマンドは指定されたシェル変数または環境変数を削除します。
# シェル変数または環境変数を削除
unset MYVAR6.declare
「declare」コマンドはシェル変数を設定または宣言し、その属性を変更します。特にBashで使用され、「-x」オプションを使用すると環境変数としてエクスポートされます。
# シェル変数を宣言
declare MYVAR="Hello"
# 環境変数として宣言
declare -x MYVARこれらのコマンドを理解し、適切に使用することで、シェルスクリプトやシステム設定の管理がより効率的に行えます。
