通常,应避免尝试使用字符串插值构建JSON。使用类似
jq处理任何必要报价的工具。
jq -n --argson o "$TEST_OUTPUT" '{logs: $o, pass: "true | false"}' | curl -v -H "Content-Type:application/json" -H "x-user-id:xxx" -H "x-api-key:yyy" --data @- https://razeedash.one.qqq.cloud.com/api/v1/clusters/zzz/api/test_results但是,如果您可以像现在一样设法正确生成JSON,则可以将
jq命令替换为
echo:
echo '{"logs": ...' | curl ...的
@-参数
--data表示要从标准输入中读取。



