我一直在編寫一些shell腳本,如果能夠在任何命令失敗的情況下暫停執(zhí)行所述shell腳本,我會(huì)發(fā)現(xiàn)它很有用。請(qǐng)參閱下面的示例:#!/bin/bash cd some_dir ./configure --some-flags make make install因此,在這種情況下,如果腳本無法更改為指示的目錄,那么如果失敗,它肯定不會(huì)在之后執(zhí)行./configure?,F(xiàn)在我很清楚我可以對(duì)每個(gè)命令進(jìn)行if檢查(我認(rèn)為這是一個(gè)無望的解決方案),但是如果其中一個(gè)命令失敗,是否有全局設(shè)置使腳本退出?
3 回答

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是怎么做的:
#!/bin/sh
abort()
{
echo >&2 '
***************
*** ABORTED ***
***************
'
echo "An error occurred. Exiting..." >&2
exit 1
}
trap 'abort' 0
set -e
# Add your script below....
# If an error occurs, the abort() function will be called.
#----------------------------------------------------------
# ===> Your script goes here
# Done!
trap : 0
echo >&2 '
************
*** DONE ***
************
'
添加回答
舉報(bào)
0/150
提交
取消