考虑下面的curl命令,是否可以允许JSON中的换行符(没有minify)并直接在bash(Mac / Ubuntu)中执行
curl -0 -v -X POST http://www.example.com/api/users \ -H "Expect:" \ -H 'Content-Type: text/json; charset=utf-8' \ -d \ ' { "field1": "test","field2": { "foo": "bar" } }'
当我运行上面的命令时,似乎错误发生在第二个{
如何解决上述命令?
更新:实际上我以前没有问题地运行命令,不知道为什么最近发生问题。
我记得另一种使用Bash man页面和
detailed here中所述的“Here Document”来执行此操作。@ – 意味着从STDIN读取正文,而< EOF意味着管理脚本内容,直到“EOF”为STDIN才能卷曲。这种布局可能比使用单独的文件或“回显变量”方法更容易阅读。
curl -0 -v -X POST http://www.example.com/api/users \ -H "Expect:" \ -H 'Content-Type: text/json; charset=utf-8' \ -d @- << EOF { "field1": "test","field2": { "foo": "bar" } } EOF