$-variables in single quoted strings don't get expanded. The -d
argument needs be in double quotes, or at least the $json
part needs to be:
curl -X POST -d '{"asin":"'"$json"'", "template":"bolt","version":"1d"}' -H "Content-Type: application/json" http://someURL
'-terminates the single-quoted string, then "$json"
follows, and then '
starts an adjacent single quoted string.
The "$json"
variable shouldn't expand to a string containing unescaped double quotes or the resulting json will be broken.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…