Pet*_*vic 3 bash export quoting
我正在尝试在/bin/bash -c命令中导出变量。
这导致空输出:
/bin/bash -c "export FOO=foo; echo $FOO"
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
由于您对命令进行$FOO了双引号,因此在您当前的 shell 中对其进行了评估,而不是通过/bin/bash -c. 也就是说,实际执行的是这样的:
/bin/bash -c 'export FOO=foo; echo '
Run Code Online (Sandbox Code Playgroud)
用单引号括起来:
/bin/bash -c 'export FOO=foo; echo $FOO'
Run Code Online (Sandbox Code Playgroud)
等效的较短形式:
FOO=foo /bin/bash -c 'echo $FOO'
Run Code Online (Sandbox Code Playgroud)