【发布时间】:2019-12-04 19:38:33
【问题描述】:
我想使用 curl 来 PUT 数据。这有效:
curl -X PUT --data '{ "xy": [0.6476, 0.2727] }' "http://"
我想用几个 bash 变量来代替文字:
$key="xy"
$value="[0.6476, 0.2727]"
我尝试用带引号的变量替换文字,但出现错误“参数不可用”。我已经尝试过嵌套和转义引号的组合,但我没有得到任何结果。
【问题讨论】:
-
另请参阅this question,了解如何从 Bash 变量构建 JSON 对象。
-
我尝试使用 jq 来构建 JSON,但我无法让它与数组(值)一起使用。 -arg 对键有效,但对值无效。我尝试了 -argjson 并拒绝了它。
-
可能是like this。
-
见stackoverflow.com/questions/59153051/…;它使用
jq1.6 中的一个新功能来访问jq的位置参数作为列表。 -
谢谢你们。我怀疑我的问题来自命令链的更上层(如何将值分配给数组变量,这并不像我展示的那样明确)但我被
curl中的失败转移了注意力