在 bash 中打印 JSON 格式的字符串

Print a string in JSON format in bash

我在我的 CGI bash 脚本中使用以下语句,它返回错误 [error] 1705#0: *105 upstream prematurely closed FastCGI stdout while reading response header from upstream [...]。这是正确的使用方法吗?

echo "{\"meta\": {\"link\": {\"upload\": { \"href\": \"http://${ip}${target}\"}}}, \"status\": \"empty\"}" | jq .

我的预期输出如下。

{
  "meta": {
  "link": {
  "upload": { "href": "http://fileserver.example.com/upload/content/{id}" }
  }
},"status": "empty"
}

没有配置问题。问题是因为 POST 请求的脚本没有响应。