【发布时间】:2019-03-20 18:05:05
【问题描述】:
我正在 bash 脚本中执行 curl 命令。
问题在于 curl 命令我必须传递一些变量($summary,$description)。 但是由于这些变量在单引号(')中,因此没有分配变量。
仅供参考:我不能删除单引号,也不能用双引号替换。
我该如何克服这种情况。
卷曲命令:
curl -X POST -d '{"summary": "$summary", "description": "$description", "moduleMapAssets": [{"name":"Rates | IRD"},{"name":"CRD | CRD"}]}' -H "Content-Type: application/json"
【问题讨论】:
-
"我不能删除单引号,也不能用双引号替换。" -> 有了这个限制,你想要的就无法完成。变量不会在单引号内解释。为什么你说你不能删除或更改它们?
-
在 -d 之后的 curl 命令字符串中应以单引号形式传递。我尝试删除它并用双引号替换它,但在这种情况下,命令通过错误的请求错误。所以寻找解决方法。
-
"在 -d 之后的 curl 命令字符串中应该用单引号传递。"不,先生。
-
使用
jq之类的工具生成这样的JSON;它负责确保summary和description的内容在必要时正确转义。