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

Respuestas:


5

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

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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.