curlが200以外のHTTPステータスを取得したときにbashスクリプトを終了する


11

いくつかのカールリクエストを実行するbashスクリプトの設定があります

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応答の1つがhttpステータス!= 200で戻ってきた場合にスクリプトを終了させる方法はありますか?

また、標準のcurl出力を保持したいと考えています。たとえば、httpステータスコードのみを出力するソリューションは必要ありません。

乾杯

回答:


5

--failmanページで述べたように、仕事をするようです:

$ curl --fail --location http://google.com/nope
$ echo $?
22

3
manページからは、--fail理由のカップルには適していません:1 Fail silently (no output at all)、及び2 This method is not fail-safe and there are occasions where non-successful response codes will slip through
Armand
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.