"bash -c" 不从源脚本中导出变量
"bash -c" doesn't export vars from sourced scripts
我有一个包含文件test.inc:
export XXX=xxx
我在调用 bash 解释字符串时使用它:
bash -c ". test.inc; echo $XXX"
但是在回显命令的时候没有设置变量。如果我这样做 'export' 我可以看到它:
bash -c ". test.inc; export"
演出
declare -x XXX="XXX"
当我使用 bash -c 语法时,如何让我的第一个命令看到源文件中导出的变量?
您使用了双引号。因此,您当前的 shell 在 bash -c
实例看到它之前很久就扩展了 $XXX
。切换到单引号,或转义美元符号。
我有一个包含文件test.inc:
export XXX=xxx
我在调用 bash 解释字符串时使用它:
bash -c ". test.inc; echo $XXX"
但是在回显命令的时候没有设置变量。如果我这样做 'export' 我可以看到它:
bash -c ". test.inc; export"
演出
declare -x XXX="XXX"
当我使用 bash -c 语法时,如何让我的第一个命令看到源文件中导出的变量?
您使用了双引号。因此,您当前的 shell 在 bash -c
实例看到它之前很久就扩展了 $XXX
。切换到单引号,或转义美元符号。