有没有办法在复合命令中为每个命令定义环境变量而不重复定义?我可以只为复合命令定义环境变量吗?
X1=foo X2=bar X3=baz command1 && X1=foo X2=bar X3=baz command2
有没有办法在复合命令中为每个命令定义环境变量而不重复定义?我可以只为复合命令定义环境变量吗?
X1=foo X2=bar X3=baz command1 && X1=foo X2=bar X3=baz command2
如果你不希望环境变量太多生存的命令,一种方法是把整个命令在子shell:例如,可以在此而不导出X1,X2和X3缩短
(X1=foo; X2=bar; X3=baz; command1 && command2 ;)
如果command1
或在单独的进程command2
来看,你可能需要导出变量,使这些命令看到他们:
(X1=foo; X2=bar; X3=baz; export X1 X2 X3 ; command1 && command2 ;)
只有当你在一个子shell中运行它们,W这很笨拙:'A = A B = b C = abc bash -c'echo $ A; echo $ B; echo $ C'' –