单引号内的变量扩展
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
.
我对 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
.