Quitter le script bash lorsque curl obtient un statut HTTP non 200


11

J'ai une configuration de script bash pour effectuer quelques requêtes 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

Existe-t-il un moyen de faire quitter le script si l'une des réponses curl revient avec un état http! = 200?

Je veux également conserver la sortie de boucle standard, par exemple, je ne veux pas d'une solution qui n'imprime que le code d'état http.

À votre santé

Réponses:


5

--fail, comme mentionné dans la manpage, semble faire le travail:

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

3
À partir de la page de manuel, --failne convient pas pour deux raisons: 1. Fail silently (no output at all)et 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through..
Armand
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.