3

У меня есть скрипт, который использовал curl, когда я передаю неверные параметры скрипту curl, но скрипт продолжает выполняться. Я попытался использовать параметр curl -f/--fail но проблема не решена. Каков наилучший способ остановить сценарий?

Я обосновал свою ошибку. Я использовал команду curl в другую команду

echo `curl --fail ... || exit 1`

После удаления команды echo curl начинает работать правильно. Спасибо за ответ, это тоже полезно.

2 ответа2

6

Вы можете проверить код выхода, используя $?:

exit_status = $?
if [ $exit_status != 0 ]
  then
    exit $exit_status
fi

Если вы хотите проанализировать состояние выхода, загляните в раздел « Exit codes странице man curl . Есть много разных кодов, в зависимости от того, почему это не удалось.

РЕДАКТИРОВАТЬ: Вы можете использовать command1 || command2 также. command2 выполняется, если и только если command1 не удалась:

curl .... || exit 1
2

Просто exit если curl заканчивается ненулевым кодом выхода:

curl http://www.example.com || exit 1

Или заставьте ваш скрипт завершиться при ошибке:

set -e
curl http://www.example.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .