Salga del script bash cuando curl obtenga un estado HTTP no 200

11

Tengo una configuración de script bash para realizar algunas solicitudes de 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

¿Hay alguna forma de hacer que la secuencia de comandos salga si una de las respuestas curl regresa con un estado http! = 200?

También quiero mantener la salida de curvatura estándar, por ejemplo, no quiero una solución que solo imprima el código de estado http.

Salud

Marklar
fuente

Respuestas:

5

--fail, como se menciona en la manpágina, parece hacer el trabajo:

$ curl --fail --location http://google.com/nope
$ echo $?
22
l0b0
fuente
3
Desde la página de manual, --failno es adecuado por un par de razones: 1. Fail silently (no output at all)y 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through..
Armand