Вийдіть із скрипту bash, коли curl отримає не 200 HTTP-статусу


11

У мене є налаштування сценарію bash для виконання декількох запитів на вигин

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

Чи є спосіб вийти із сценарію, якщо один із відповідей на згортання повернеться зі статусом http! = 200?

Я також хочу зберегти стандартний висновок curl, наприклад, я не хочу рішення, яке друкує лише код коду статусу.

Ура

Відповіді:


5

--fail, як згадується на manсторінці, схоже, виконується така робота:

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

4
Зі сторінки, що --failне відповідає, з кількох причин: 1. Fail silently (no output at all)і 2 This method is not fail-safe and there are occasions where non-successful response codes will slip through.
Арман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.