如何使用cURL从一个文件发布多个json

时间:2017-07-18 17:48:41

标签: json bash shell curl

我在一个文件中有一些json数据存储。该文件的每一行都是一条json消息。

而不是: curl -X POST -d '{data:{something}}' 逐一。我尝试使用:

   while read data
   >do
   >curl -X POST -d @$data
   >done < file

然而它不起作用,因为shell可能是数据是一些没有单引号的文本。

无论如何我可以修改这个脚本吗?

错误信息是这样的

curl: (3) [globbing] illegal character in range specification at pos 3

curl: (3) [globbing] illegal character in range specification at pos 3

* getaddrinfo(3) failed for "something"::10
* Couldn't resolve host '"something":'
* Closing connection #1
curl: (6) Couldn't resolve host '"something":'
curl: (3) [globbing] unmatched brace at pos 20

etc...

1 个答案:

答案 0 :(得分:0)

您需要对shell变量进行双引号以防止shell执行word splittingfilename expansion

curl -X POST -d "$data"