シェル変数と環境変数、設定方法、表示方法など、混同してしまって何度も同じことを再確認しがちです。整理してまとめてみました。シェルはbash使用の場合。
※目次をクリックすると目次の下部にコンテンツが表示されます。
シェル変数と環境変数の違い
・シェル変数は、現在実行中のシェルのみで有効。
・環境変数は、シェルから実行されたコマンド内でも有効。
・環境変数は、シェルから実行されたコマンド内でも有効。
シェル変数の設定と表示
1)設定方法
シェル変数名=値
・イコールの両側にスペースを置かない。
・複数のワードで構成されている場合は、クォートで囲む。
※削除する場合は、unsetを使用する。
2)表示方法
①特定の変数を表示
コマンドで変数を使用する場合は変数名の前にダラー($)をつける。
例)
echo $変数名
②シェル変数と一覧を表示
set
シェル変数名=値
・イコールの両側にスペースを置かない。
・複数のワードで構成されている場合は、クォートで囲む。
※削除する場合は、unsetを使用する。
2)表示方法
①特定の変数を表示
コマンドで変数を使用する場合は変数名の前にダラー($)をつける。
例)
echo $変数名
②シェル変数と一覧を表示
set
環境変数の設定と表示
1)設定方法
①すでに定義済みのシェル変数を環境変数にする
export シェル変数名
②シェル変数を定義し、それを環境変数とする
export 環境変数名=値
2)表示方法
printenv
①すでに定義済みのシェル変数を環境変数にする
export シェル変数名
②シェル変数を定義し、それを環境変数とする
export 環境変数名=値
2)表示方法
printenv
使用例
①シェル変数表示
$ echo $LANG
en_US.UTF-8
②シェル変数設定
$ LANG=ja_JP.utf8
$ echo $LANG
ja_JP.utf8
③環境変数設定
$ export LANG
④環境変数表示
$ printenv | grep LANG
LANG=ja_JP.utf8
$ echo $LANG
en_US.UTF-8
②シェル変数設定
$ LANG=ja_JP.utf8
$ echo $LANG
ja_JP.utf8
③環境変数設定
$ export LANG
④環境変数表示
$ printenv | grep LANG
LANG=ja_JP.utf8