在`/ bin / bash -c`中导出变量

时间:2017-08-08 20:23:12

标签: bash export quoting

我正在尝试在/bin/bash -c命令中导出变量。

这导致空输出:

/bin/bash -c "export FOO=foo; echo $FOO"

这样做的正确方法是什么?

1 个答案:

答案 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'