比方说,我有以下命令设置多个命令环境变量在bash的一行
$> MYENVVAR = MyFolder文件回声$ MYENVVAR & & MYENVVAR = MyFolder文件LS $ MYENVVAR
我的意思MYENVVAR = myfolder重复
是否可以为“& &”分隔的命令设置一次,同时保留通讯并在一条线上?
比方说,我有以下命令设置多个命令环境变量在bash的一行
$> MYENVVAR = MyFolder文件回声$ MYENVVAR & & MYENVVAR = MyFolder文件LS $ MYENVVAR
我的意思MYENVVAR = myfolder重复
是否可以为“& &”分隔的命令设置一次,同时保留通讯并在一条线上?
假设你确实需要它作为一个环境变量(尽管示例代码并不真的需要一个环境变量;一些shell变量不是环境变量):
(export MYENVVAR=myfolder; echo $MYENVVAR && ls $MYENVVAR)
如果你不需要它作为一个环境变量,那么:
(MYENVVAR=myfolder; echo $MYENVVAR && ls $MYENVVAR)
括号创建一个子shell;在子shell中设置的环境变量(和普通变量)不会影响父shell。在所示的两个命令中,该变量都被设置一次,然后被使用两次,一次被两个命令中的每一个使用。
括号产生新的理线,在这里你可以设置自己的变量:
(MYENVVAR=myfolder; echo 1: $MYENVVAR;); echo 2: $MYENVVAR;
1: myfolder
2:
您可以使用分组而不是subshell ... – anishsane