如果 curl 失败,如何停止 shell 脚本

如果 curl 失败,如何停止 shell 脚本

我有一个使用 curl 的脚本,当我向脚本传递错误的参数时,curl 会失败,但脚本会继续执行。我尝试使用curl -f/--fail参数,但问题没有解决。停止脚本的最佳方法是什么?

我发现我的错误了。我将curl命令误用为另一个命令

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

删除 echo 命令后,curl 即可正常工作。谢谢您的回答,这也很有用。

答案1

您可以使用以下方法检查退出代码$?

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

如果您想分析退出状态,请查看页面Exit codes中的部分 man curl。有很多不同的代码,具体取决于失败的原因。

编辑 :command1 || command2也可以使用。当且仅当失败command2时才执行:command1

curl .... || exit 1

答案2

如果exitcurl非零退出代码结束:

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

或者,让你的脚本在出现错误时退出:

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

相关内容