Bukle 200 olmayan bir HTTP durumu aldığında bash betiğinden çık


11

Birkaç kıvırmak isteği gerçekleştirmek için bir bash komut dosyası kurulum var

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

Bukle yanıtlarından biri bir http durumu! = 200 ile geri gelirse koddan çıkmanın bir yolu var mı?

Ayrıca standart curl çıktısını tutmak istiyorum, örneğin sadece http durum kodunu yazdıran bir çözüm istemiyorum.

Şerefe

Yanıtlar:


5

--fail, mansayfada belirtildiği gibi, işi yapıyor gibi görünüyor:

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

4
Man itibaren --failnedenlerle bir çift için uygun değildir: 1. Fail silently (no output at all)ve 2. This method is not fail-safe and there are occasions where non-successful response codes will slip through.
Armand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.