如果我像这样运行curl命令:
curl -i -H "Content-type: application/json" -X POST -d $JSON $URL
在stdout中我得到了标题和响应。但如果我尝试使用
捕获它们foo=$(curl -i -H "Content-type: application/json" -X POST -d $JSON $URL)
echo $foo
这只打印响应,没有标题。是否也可以在同一个环境变量中捕获标题?
答案 0 :(得分:2)
我也有这个问题,这是一个严重的头部刮擦。我通过管道到tr
并删除\r
字符来解决它:
foo=$(curl -i -H "Content-type: application/json" -X POST -d $JSON $URL | tr -d '\r')
echo $foo
答案 1 :(得分:1)
在变量周围加上引号。
$ foo=$(curl -i -H "Content-type: application/json" -X POST -d $JSON $URL)
$ echo "$foo"
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Thu, 09 Jan 2020 16:38:16 GMT
Content-Length: 0