Keluar dari skrip bash ketika curl mendapat status HTTP non 200

11

Saya memiliki pengaturan skrip bash untuk melakukan beberapa permintaan ikal

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

Apakah ada cara untuk membuat skrip keluar jika salah satu respons ikal kembali dengan status http! = 200?

Saya juga ingin mempertahankan output curl standar, misalnya saya tidak ingin solusi yang hanya mencetak kode status http.

Bersulang

Marklar
sumber

Jawaban:

5

--fail, seperti yang disebutkan di manhalaman, tampaknya melakukan pekerjaan:

$ curl --fail --location http://google.com/nope
$ echo $?
22
l0b0
sumber
3
Dari halaman manual, --failtidak cocok untuk beberapa alasan: 1. Fail silently (no output at all), dan 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through..
Armand