将双引号中的命令行参数传递给curl。
- 论坛
- 将双引号中的命令行参数传递给curl。
11 浏览
匿名的
0 Comments
问题的原因是在单引号字符串中,$变量不会被扩展。而-d
参数需要使用双引号,或者至少需要将$json
部分放在双引号中。
解决方法是将-d
参数中的json字符串放在双引号中,并使用$json
变量,如下所示:
curl -X POST -d '{"asin":"'"$json"'", "template":"bolt","version":"1d"}' -H "Content-Type: application/json" http://someURL
在这个命令中,'
终止了单引号字符串,然后是"$json"
,然后是一个相邻的单引号字符串。
"$json"
变量不应该扩展为包含未转义双引号的字符串,否则生成的json将会出错。