我可以设置环境变量并在同一命令行中使用它吗?

我可以设置环境变量并在同一命令行中使用它吗?

我需要运行两个不同的回归,需要 1. 同一环境变量的两个不同值; 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

分号分隔恰好写在一行上的两个语句。导出命令设置一个环境变量,该变量将保持设置状态直到其值发生更改。如果您只想更改一个命令的值,请不要使用导出。例子:

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

输出

d
c

相关内容