Похожие вопросы

Rsync копировать символические ссылки и исключить подпапку
Не удается найти хороший исполняемый файл оболочки Cygwin
Сортировка музыкальной библиотеки по BPM
Используйте OpenOffice из командной строки для преобразования HTML в RTF
Загрузка нескольких файлов с ftp-сервера с помощью сценария bash
Guake-Windows 10 + Bash
cat wc - l подсчет строк строки с определенными окончаниями строк (e.G для Mac OS X)
Linux zip и исключить каталог в сценарии Bash
Копировать всех пользователей.история bash на одном дыхании
Терминал, начинающийся с сообщения" no such file or directory: "в OS X
Обрабатывать имя файла с пробелами внутри Bash-скрипта
Не удается ssh в AWS Ubuntu server из Bash на Windows
утилита командной строки для записи с микрофона
bash:/home/пользователь/.bashrc: отказано в разрешении при попытке изменить пользователя с root на user
Как копировать файлы с помощью ditto с обратными косыми чертами в именах файлов

Закройте сценарий bash, когда curl получает статус HTTP, отличный от 200

У меня есть настройка сценария bash для выполнения нескольких запросов 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

есть ли способ заставить скрипт выйти, если один из ответов curl вернется со статусом http != 200?

Я также хочу сохранить стандартный вывод curl, e.g мне не нужно решение, которое печатает только код состояния http.

Ура

5
задан Marklar
источник

1 ответов

--fail, как указано в man страница, кажется, делает работу:

$ curl --fail --location http://google.com/nope
$ echo $?
22
4
отвечен l0b0 2015-02-12 12:52:08
источник

Другие вопросы bash curl script shell shell-script