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

export variable within `/bin/bash -c`

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

这导致空输出:

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

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

由于您双引号命令, $FOO 在您当前的 shell 中得到评估, 不是 /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'