如何在bash -c命令中插入变量

时间:2017-11-29 02:21:03

标签: linux bash unix

我可以做以下事情:

$ FOO="text"
$ echo $FOO
$ text

但是如何将它包装在bash -c构造中?我尝试了但失败了:

$ FOO="text"
$ bash -c 'echo $FOO'
$ # return nothing

我问这个的原因是因为我需要执行另外需要包含在bash -c内的第三方代码

2 个答案:

答案 0 :(得分:5)

尝试

$ export FOO="text"
$ bash -c 'echo $FOO'
  

export命令用于将变量或函数导出到   当前shell中运行的所有子进程的环境。

Here's the source

" bash"命令启动子进程,其父进程是您当前的bash会话。

要在父进程中定义变量并在子进程中使用它,您必须将其导出。

答案 1 :(得分:-1)

你可以使用bash -c 'FOO=test; echo \$FOO'export FOO=test;bash -c 'echo $FOO'