我有一个使用 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
如果exit
以curl
非零退出代码结束:
curl http://www.example.com || exit 1
或者,让你的脚本在出现错误时退出:
set -e
curl http://www.example.com