我正在尝试在/bin/bash -c
命令中导出变量。
这导致空输出:
/bin/bash -c "export FOO=foo; echo $FOO"
这样做的正确方法是什么?
答案 0 :(得分:4)
既然你用双引号命令,
在您当前的shell中评估$FOO
,
而不是/bin/bash -c
。
也就是说,实际执行的是:
/bin/bash -c 'export FOO=foo; echo '
用单引号括起来:
/bin/bash -c 'export FOO=foo; echo $FOO'
等效的简短形式:
FOO=foo /bin/bash -c 'echo $FOO'