Wyjdź ze skryptu bash, gdy curl uzyska status HTTP inny niż 200


11

Mam konfigurację skryptu bash, aby wykonać kilka żądań 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

Czy istnieje sposób, aby skrypt zakończył działanie, jeśli jedna z odpowiedzi curl wróci ze statusem http! = 200?

Chcę również zachować standardowe wyjście curl, np. Nie chcę rozwiązania, które drukuje tylko kod stanu HTTP.

Twoje zdrowie

Odpowiedzi:


5

--fail, jak wspomniano na manstronie, wydaje się wykonywać pracę:

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

4
Ze strony podręcznika --failnie nadaje się z kilku powodów: 1. Fail silently (no output at all)i 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through..
Armand
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.