出错时自动退出bash shell脚本

我一直在编写一些shell脚本,如果能够在任何命令失败的情况下暂停执行所述shell脚本,我会发现它很有用。请参阅下面的示例:


#!/bin/bash  


cd some_dir  


./configure --some-flags  


make  


make install

因此,在这种情况下,如果脚本无法更改为指示的目录,那么如果失败,它肯定不会在之后执行./configure。


现在我很清楚我可以对每个命令进行if检查(我认为这是一个无望的解决方案),但是如果其中一个命令失败,是否有全局设置使脚本退出?


qq_笑_17
浏览 1393回答 3
3回答

互换的青春

这是怎么做的:#!/bin/shabort(){    echo >&2 '****************** ABORTED ******************'    echo "An error occurred. Exiting..." >&2    exit 1}trap 'abort' 0set -e# Add your script below....# If an error occurs, the abort() function will be called.#----------------------------------------------------------# ===> Your script goes here# Done!trap : 0echo >&2 '*************** DONE *** ************'
打开App,查看更多内容
随时随地看视频慕课网APP