2つの変数を設定するというファイルがあるとしましょうvariables.sh
。
foo=bar
bar=foo
このファイルを作成すると、source
現在のシェルでこれらの変数を使用できますが、2番目のシェルスクリプトで使用するにはその変数をエクスポートする必要があるため、ファイルは次のようになります。
export foo=bar
export bar=foo
source
どのような+を実行することは可能ですか?export
それとも、各変数を設定する前に+になるように変更する必要がありますかvariables.sh
?export
答え1
2番目のシェルスクリプトでそれを使用するにはエクスポートする必要があるため、ファイルは次のようになります。
2番目のファイルを取得または取得できますvariables.sh
。ファイル処理の結果を評価するなど、操作を実行する方法はいくつかありますが、最もきれいな方法はset -a
bashシェルを使用することです。
-a Automatically mark variables and functions which are
modified or created for export to the environment of
subsequent commands.
したがって、次のことで目標を達成できます。
set -a
source variables.sh
指摘したとおりl0b0set +a
後続のシェルコードから自動的に変数をエクスポートしないように、後でこれを行うことができます。