shell中set?-e的具體使用
set -e
是一個(gè) Shell 命令,它用于在腳本運(yùn)行時(shí)自動(dòng)退出,如果命令執(zhí)行失敗,則它將立即退出并返回一個(gè)非零的退出狀態(tài)碼。這個(gè)命令可以確保在腳本運(yùn)行時(shí),如果有任何錯(cuò)誤發(fā)生,腳本將停止運(yùn)行,避免繼續(xù)執(zhí)行可能會(huì)產(chǎn)生更多問(wèn)題的命令。
例如,在以下腳本中,如果在執(zhí)行第一條命令時(shí)發(fā)生錯(cuò)誤,腳本將立即停止運(yùn)行,而不會(huì)繼續(xù)執(zhí)行后面的命令:
#!/bin/bash set -e # 執(zhí)行第一條命令 command1 # 執(zhí)行第二條命令 command2 # 執(zhí)行第三條命令 command3
在這個(gè)示例中,如果 command1
?? 執(zhí)行失敗,腳本將停止運(yùn)行,并返回一個(gè)非零的退出狀態(tài)碼。如果 command1
?? 執(zhí)行成功,腳本將繼續(xù)執(zhí)行 command2
?? 和 command3
。
如果不使用 set -e?
如果不使用set -e
命令,當(dāng)腳本中有命令執(zhí)行失敗時(shí),腳本將繼續(xù)執(zhí)行后面的命令。這可能會(huì)導(dǎo)致一些潛在的問(wèn)題,因?yàn)楹罄m(xù)的命令可能會(huì)繼續(xù)執(zhí)行,而不考慮前面的命令是否執(zhí)行成功。
例如,在以下腳本中,如果**command1
?? 執(zhí)行失敗,腳本將繼續(xù)執(zhí)行** command2
?? 和 command3
:
#!/bin/bash # 執(zhí)行第一條命令 command1 # 執(zhí)行第二條命令 command2 # 執(zhí)行第三條命令 command3
在這個(gè)示例中,如果 command1
?? 執(zhí)行失敗,腳本將繼續(xù)執(zhí)行 command2
?? 和 command3
,這可能會(huì)導(dǎo)致一些潛在的問(wèn)題。
因此,使用 set -e
命令可以確保在腳本運(yùn)行時(shí)自動(dòng)退出,如果命令執(zhí)行失敗,則它將立即退出并返回一個(gè)非零的退出狀態(tài)碼,以避免可能的問(wèn)題。
shell set +e、set -e的用法
set +e當(dāng)這句之后遇到非零的返回值,會(huì)繼續(xù)執(zhí)行
su.這句之后遇到非零返回值,會(huì)直接退出
到此這篇關(guān)于shell中set -e的具體使用的文章就介紹到這了,更多相關(guān)shell set -e內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell 腳本之用ab每隔30分鐘并發(fā)一次休息10分鐘
這篇文章給大家分享如何使用shll解決用ab每隔30分鐘并發(fā)一次休息10分鐘,需要的朋友可以參考下2019-11-11Shell中統(tǒng)計(jì)字符串中單詞的個(gè)數(shù)的幾種方法
今天小編就為大家分享一篇關(guān)于Shell中統(tǒng)計(jì)字符串中單詞的個(gè)數(shù)的幾種方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹
大家好,本篇文章主要講的是shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下哦2021-11-11linux下監(jiān)視進(jìn)程 崩潰掛掉后自動(dòng)重啟的shell腳本
如何保證服務(wù)一直運(yùn)行?如何保證即使服務(wù)掛掉了也能自動(dòng)重啟?在寫服務(wù)程序時(shí)經(jīng)常會(huì)碰到這樣的問(wèn)題。在Linux系統(tǒng)中,強(qiáng)大的shell就可以很靈活的處理這樣的事務(wù)2013-06-06shell腳本內(nèi)調(diào)用另外一個(gè)shell腳本的幾種方法講解
在Linux開(kāi)發(fā)中經(jīng)常會(huì)編寫shell腳本來(lái)執(zhí)行一些任務(wù),下面這篇文章主要給大家介紹了關(guān)于shell腳本內(nèi)調(diào)用另外一個(gè)shell腳本的幾種方法,需要的朋友可以參考下2023-06-06實(shí)現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享
這篇文章主要介紹了實(shí)現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享,本文對(duì)一些小內(nèi)存的VPS特別有用,需要的朋友可以參考下2014-12-12Linux文件傳輸利器SCP命令使用詳解與實(shí)戰(zhàn)技巧
scp憑借其簡(jiǎn)單、安全、跨平臺(tái)的特點(diǎn),成為L(zhǎng)inux文件傳輸?shù)氖走x工具,通過(guò)靈活使用參數(shù)和組合命令,可以應(yīng)對(duì)大多數(shù)傳輸場(chǎng)景,這篇文章給大家介紹Linux文件傳輸利器SCP命令使用詳解與實(shí)戰(zhàn)技巧,感興趣的朋友一起看看吧2025-05-05shell腳本實(shí)現(xiàn)Hbase服務(wù)的監(jiān)控報(bào)警和自動(dòng)拉起問(wèn)題
這篇文章主要介紹了shell腳本實(shí)現(xiàn)Hbase服務(wù)的監(jiān)控報(bào)警和自動(dòng)拉起,主要是通過(guò)服務(wù)名監(jiān)控和端口監(jiān)控,通過(guò)企業(yè)微信消息通知腳本,對(duì)此內(nèi)容感興趣的朋友跟隨小編一起看看吧2022-11-11