BASHでは、エクスポートは何をするのですか?

bash export shell-script
この質問はすでにここに回答があります
クローズド 10年前.

重複の可能性があります。 bash での “a=b” と “export a=b” の違い

認めるのは難しいですが、私はexportが環境変数に何をするのかを正確に理解したことがありませんでした。変数をエクスポートしないと子プロセスで見れないことはわかっているのですが、たまに見れそうなときがあります。と言っても本当にどうなっているのか

export foo=5

そして、いつ変数をエクスポートしてはいけないのでしょうか?

  99  Chas. Owens  2010-06-16


ベストアンサー

man bashから

ENVIRONMENT

プログラムが起動されると、環境と呼ばれる文字列の配列が与えられます。これは名前と値のペアのリストで、 name=value の形式です

シェルは環境を操作するためのいくつかの方法を提供しています。呼び出されると、シェルは自身の環境をスキャンし、見つかった名前ごとにパラメータを作成し、子プロセスにエクスポートするために自動的にマークを付けます。実行されたコマンドは環境を継承します。export および declare -x コマンドは、パラメータや関数を環境に追加したり、環境から削除したりすることができます。環境内のパラメータの値が変更された場合、新しい値が環境の一部となり、古い値に置き換わります。実行されたコマンドによって継承される環境は、シェルの初期環境から、シェル内で変更される可能性のある値を除いたもので、unset コマンドによって削除されたペアと、export および declare -x コマンドによって追加されたもので構成されています

16  sml  2010-06-16


エクスポートされた変数は子プロセスに渡され、エクスポートされていない変数は渡されません

127  Pylsa  2010-06-16


exportを使用すると、エクスポートコマンドが呼び出されたシェルの環境変数リストにその変数を追加することになり、シェルのすべての環境変数が子プロセスに渡されるので、これを使用することができます

シェルを終了すると環境が破壊されるので、ログイン時に環境変数が宣言され、エクスポートされます

21  alfredozn  2010-06-16


タイトルとURLをコピーしました