変数に対して「エクスポート」コマンドは何をしますか?

変数に対して「エクスポート」コマンドは何をしますか?

bashで環境変数を設定するときにexportこれを行う必要があります。だから我々はそれを将来使用することができます。 (少なくとも連続セッションでは)。私はこれを理解しています。

私の質問は、exportこのコマンドが変数にどのように機能するのかです。

それを使用するどこかに一時ファイルを生成しますか、それとも変数を保持するためにいくつかのファイルを変更しますか?これはとても混乱しています。


したがって、デフォルトでは、シェルで作業するときにすべてのコマンドやその他のものを処理する環境がサポートされ、すべての変数はその一部です。シェルから新しく作成された変数をエクスポートすると、その変数も環境に追加されます。このプロセス中にファイルは変更されず、新しい変数はどこにも保存されません。

ベストアンサー1

いいえ。同じシェルセッションで使用するためにシェル変数をエクスポートする必要はありません。新しいシェルのように、子プロセスに必要なときに変数をエクスポートするか、現在のシェルで実行されている一部のツールで必要に応じて変数をエクスポートできます。

シェル変数をエクスポートして環境変数にします。環境変数は環境の一部です。環境の一部でもある他には、現在の作業ディレクトリ、現在のプロセスの「niceness」値、その他の雑誌が含まれます。

新しいプロセスが開始されると、環境は継承されコピーされます。したがって、新しいプロセスは自分自身を起動したシェルからすべての環境変数のコピーを取得しますが、シェル変数(エクスポートされていない変数)のコピーはインポートされません。

これには一時ファイルは含まれず、メモリ内のデータのコピーのみが含まれます。新しいプロセスが開始されると、カーネルによってコピーが実行されます。

おすすめ記事