環境変数を設定し、同じコマンドラインで使用できますか?

環境変数を設定し、同じコマンドラインで使用できますか?

1. 同じ環境変数に対して 2 つの異なる値が必要です。 2. 2 つの異なる .bashrc 設定が必要です。 3. 同時に実行できません。次のようにできますか?

% export E=value1 ; cp ~/.bashrc.1 ~/.bashrc ; run1 ; export E=value2 ; cp ~/.bashrc.1 ~/.bashrc ; run2

export E=value2私の疑いは、それが私の環境で動作するかどうかについての不確実性に由来しますrun2

答え1

確実にしたい場合は、個別に実行可能にしてください。

% cp ~/.bashrc.1 ~/.bashrc ; E=value1 run1 ; cp ~/.bashrc.1 ~/.bashrc ; E=value2 run2

答え2

これを直接簡単に確認できます。

 export E=a; printenv E; export E=b; printenv E

出力

a
b

セミコロンは、正確に1行に書かれた2つの文を区別します。エクスポートコマンドは、値が変更されるまで設定されたままの環境変数を設定します。 1つのコマンド値のみを変更するには、エクスポートを使用しないでください。例:

export E=c; E=d printenv E; printenv E

出力

d
c

関連情報