「エクスポート」コマンドの用途は何ですか?

「エクスポート」コマンドの用途は何ですか?

ある端末ウィンドウで環境変数を作成し、別の端末ウィンドウに表示しようとしました。それは何も示していません。

$TEST=hello

その後、エクスポートしてecho別の端末ウィンドウで再試行しました。結果は以前と同じです。

export TEST 

ただし、ログイン中に同じコードを実行すると(コードを~/.profileファイルに追加)、すべてのターミナルウィンドウで変数を使用できます。ここで何が起こっているのでしょうか?端末でコードを実行するのとログインしてコードを実行することの違いは何ですか?

ベストアンサー1

export子プロセス環境に変数を含めます。他の既存の環境には影響しません。一般的に言えば、ある端末で変数を設定し、別の端末に自動的に表示させる方法はなく、各プロセス自体に環境が設定されます。

.profileログインするたびに、この新しい変数を含めるように環境を設定するように環境に追加します。したがって、あるシェルから別のシェルにエクスポートするのではなく、初期環境を設定するときに新しいシェルにそれを含めるように指示します。

おすすめ記事