web-dev-qa-db-ja.com

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

いくつかのcurlリクエストを実行するための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

カール応答の1つがhttpステータス!= 200で戻ってきた場合に、スクリプトを終了させる方法はありますか?

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

乾杯

11
Marklar

--failは、manページで説明されているように、次のような仕事をしているようです。

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