Sair do script bash quando curl obtém um status HTTP não 200


11

Eu tenho uma configuração de script bash para executar algumas solicitações 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

Existe uma maneira de fazer o script sair se uma das respostas de retorno retornar com um status http! = 200?

Também quero manter a saída de curvatura padrão, por exemplo, não quero uma solução que imprima apenas o código de status http.

Felicidades

Respostas:


5

--fail, como mencionado na manpágina, parece fazer o trabalho:

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

3
Na página de manual, --failnão é adequado por alguns motivos: 1. Fail silently (no output at all)e 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through..
Armand
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.