有没有办法在复合命令中为每个命令定义环境变量而不重复定义?例如,可以缩短它而不导出X1,X2和X3:
X1=foo X2=bar X3=baz command1 && X1=foo X2=bar X3=baz command2
答案 0 :(得分:1)
如果您不希望环境变量在命令中存活,则一种方法是将整个命令放在子shell中:
( X1=foo; X2=bar; X3=baz; command1 && command2 ; )
如果command1
或command2
在不同的进程中运行,您可能需要导出变量以便这些命令看到它们:
( X1=foo; X2=bar; X3=baz; export X1 X2 X3 ; command1 && command2 ; )