![当 curl 获取非 200 HTTP 状态时退出 bash 脚本](https://linux22.com/image/1440581/%E5%BD%93%20curl%20%E8%8E%B7%E5%8F%96%E9%9D%9E%20200%20HTTP%20%E7%8A%B6%E6%80%81%E6%97%B6%E9%80%80%E5%87%BA%20bash%20%E8%84%9A%E6%9C%AC.png)
我设置了一个 bash 脚本来执行一些 curl 请求
for currency in EUR INR JPY
do
curl -i --data '{"currency": "'$currency'"}' -H "Accept: application/json" -H "Content-Type: application/json" http://0.0.0.0:8080/price && echo
done
如果其中一个 curl 响应返回 http 状态 != 200,有没有办法让脚本退出?
我还想保留标准 curl 输出,例如,我不想要仅打印 http 状态代码的解决方案。
干杯
答案1
--fail
正如man
页面中提到的,似乎可以完成这项工作:
$ curl --fail --location http://google.com/nope
$ echo $?
22