单引号内的变量扩展

Variable expansion inside single quotes

我对 shell 脚本编写还很陌生。

我有以下脚本:

out="FAILURE"
curl -X POST -d 'json={"json":"message"}' http://localhost:8888/json.tail.test

我想用 $out 的值替换 "message"。我尝试了不同的方法,但无法完成。有人可以给我建议吗?

试试这个:

out="FAILURE" curl -X POST -d 'json={"json": $OUT}' http://localhost:8888/json.tail.test

您只需将 "message" 替换为 $OUT

这样做:

out="FAILURE"
curl -X POST -d 'json={"json":"'$out'"}' http://localhost:8888/json.tail.test

基本上,将 $out 以外的所有内容括在单引号内。单引号保护双引号但抑制变量的扩展,如 $out.