Shell 单引号内的变量展开
我对shell脚本非常陌生 我有以下脚本:Shell 单引号内的变量展开,shell,variable-expansion,Shell,Variable Expansion,我对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
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
部分的$out。此外,根据OP的要求,$OUT
的扩展需要在双引号内。请看下面我的答案。