可能的重复:
如何将变量“发送”到子shell?
我有一个bash
脚本,在该脚本中我做了sh
。如何将变量传递给新 shell?是这样的(简化为具体问题):
脚本.sh:
#!/bin/bash
#......
MYVAR=myvalue
sh -c 'some_code_here'
#......
基本上我想MYVAR
在我的some_code_here
部分使用。我正在考虑创建一个临时脚本并执行它。但如果有一种简单的方法可以通过,我可以避免使用临时脚本。
答案1
只是export
它:
#!/bin/bash
export MYVAR=myvalue
sh -c 'some_code_here'
答案2
为了避免需要特殊的 shell 语法并避免出现诸如 之类的问题sudo
,请使用env
:
env MYVAR=value sh -c "blah"