字符串中的字符串变量

时间:2015-02-25 10:18:04

标签: json bash

所以,我试图在Bash脚本中运行Python脚本。 Python脚本以JSON字符串的形式获取其中一个参数,如下所示:

'[{"CONFIG":"SomeConfigID"}]' //there are other members available but this is all I need.

我想从Bash脚本中传入一个变量作为JSON对象的成员。所以,这就是我在做的事情:

'[{"CONFIG":"${CONFIG}"}]'

但是,我发现Python脚本失败,因为它无法识别${CONFIG}

出于某种原因,Bash没有用变量的值替换该表达式。我不熟悉Bash,所以这可能只是我遗漏的一些明显的东西。有人可以帮忙吗?是否有其他方法来构造不会导致此问题的JSON字符串?

1 个答案:

答案 0 :(得分:4)

为shell扩展获取正确的引用:

'[{"CONFIG":"'"${CONFIG}"'"}]'

由于shell变量不能用shell引用它来展开它们。

示例:

CONFIG=foo
echo '[{"CONFIG":"'"${CONFIG}"'"}]'
[{"CONFIG":"foo"}]