utte

export シェル変数を環境変数にして、子プロセスへ引き継ぐ

export [オプション] [名前[=値]...]

試してみる

主なオプション

-pexport されている変数の一覧を、再入力できる形で表示する
-n変数の export を取り消す(値は残る)
-f変数ではなく、関数を export する

解説

シェル変数と環境変数

NAME=value で作った変数は、そのシェルの中でだけ見えます。export すると環境変数になり、そのシェルから起動したコマンドやスクリプト(子プロセス)にも引き継がれます。

書き方

export NAME=value のように、設定と同時にできます。すでにある変数に対して export NAME だけでもできます。値に空白を含むときは、export MSG="hello world" のように、引用符で囲みます。

親には戻らない

環境変数が引き継がれるのは、親から子への一方向だけです。スクリプトの中で変数を変えても、呼び出し元のシェルには反映されません。反映させたいときは、source script.sh(または . script.sh)で、同じシェルの中で実行します。

永続化

export は、そのシェルを閉じると消えます。ログインのたびに設定したいときは、~/.bashrc や ~/.profile に書きます。

一覧の確認

引数なしの export、または export -p で、export 済みの変数を一覧できます。export は bash の組み込みコマンドなので、独立したコマンドファイルはありません。

関連するコマンド

LinuC 101の出題範囲