exportコマンドはbashの組み込みコマンドで、環境変数を設定できるコマンドになります。
環境変数は現在のシェルだけでなく、シェルで起動させるプログラム(子プロセス)に対して、影響を与えます。プログラムによっては環境変数を用いることで動作が変わるプログラムもあります。
環境変数を設定
exportコマンドを用いることで変数を指定することで、変数を環境変数に設定することができます。
コマンド例と実行結果
1 2 3 4 5 6 7 |
$ var1="variable 1" $ declare -p var1 declare -- var1="variable 1" $ $ export var1 $ declare -p var1 declare -x var1="variable 1" |
declareコマンドは変数を宣言するbashの組み込みコマンドです。declareコマンドの-pオプションを用いることで変数の内容を確認できます。
declareコマンドの-xオプションを用いることでも環境変数を設定できます。
declareコマンドの-xオプションを用いることでも環境変数を設定できます。
exportコマンドで変数を指定すると同時に値を代入した場合、値を代入しつつ環境変数に設定できます。
コマンド例と実行結果
1 2 3 |
$ export var2="variable 2" $ declare -p var2 declare -x var2="variable 2" |
また、-fオプションを用いることで、関数を環境変数にすることができます。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ func1() { echo "function 1"; } $ declare -fp func1 func1 () { echo "function 1" } $ $ export -f func1 $ declare -fp func1 func1 () { echo "function 1" } declare -fx func1 |
すべての環境変数を確認
(-pオプション)
-pオプションを用いることですべての環境変数を確認できます。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 |
$ export -p declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LS_COLORS="" declare -x OLDPWD declare -x PWD="/home/ubuntu/test_export" declare -x SHLVL="1" declare -x var1="variable 1" declare -x var2="variable 2" |
-pオプションを-fオプションと一緒に用いると関数についての環境変数を確認できます。
コマンド例と実行結果
1 2 3 4 5 6 |
$ export -fp func1 () { echo "function 1" } declare -fx func1 |
環境変数の削除
(-nオプション)
-nオプションを用いることで環境変数を削除できます。
コマンド例と実行結果
1 2 3 |
$ export -n var1 $ declare -p var1 declare -- var1="variable 1" |
また、unsetコマンドを用いることで変数自体を削除できます。
コマンド例と実行結果
1 2 3 |
$ unset var2 $ declare -p var2 bash: declare: var2: not found |
関数の環境変数を削除する場合は、-fオプションを一緒に用います。関数自体を削除する場合、unsetコマンドでも-fオプションを用います。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 |
$ export -fn func1 $ declare -fp func1 func1 () { echo "function 1" } $ $ unset -f func1 $ declare -fp func1 bash: declare: func1: not found |
unsetコマンドはオプションなしでも指定した名前の変数がないとき、指定した名前の関数が削除されます。