shell中set?-e的具體使用
set -e 是一個 Shell 命令,它用于在腳本運行時自動退出,如果命令執(zhí)行失敗,則它將立即退出并返回一個非零的退出狀態(tài)碼。這個命令可以確保在腳本運行時,如果有任何錯誤發(fā)生,腳本將停止運行,避免繼續(xù)執(zhí)行可能會產(chǎn)生更多問題的命令。
例如,在以下腳本中,如果在執(zhí)行第一條命令時發(fā)生錯誤,腳本將立即停止運行,而不會繼續(xù)執(zhí)行后面的命令:
#!/bin/bash set -e # 執(zhí)行第一條命令 command1 # 執(zhí)行第二條命令 command2 # 執(zhí)行第三條命令 command3
在這個示例中,如果 command1?? 執(zhí)行失敗,腳本將停止運行,并返回一個非零的退出狀態(tài)碼。如果 command1?? 執(zhí)行成功,腳本將繼續(xù)執(zhí)行 command2?? 和 command3。
如果不使用 set -e?
如果不使用set -e 命令,當腳本中有命令執(zhí)行失敗時,腳本將繼續(xù)執(zhí)行后面的命令。這可能會導(dǎo)致一些潛在的問題,因為后續(xù)的命令可能會繼續(xù)執(zhí)行,而不考慮前面的命令是否執(zhí)行成功。
例如,在以下腳本中,如果**command1?? 執(zhí)行失敗,腳本將繼續(xù)執(zhí)行** command2?? 和 command3:
#!/bin/bash # 執(zhí)行第一條命令 command1 # 執(zhí)行第二條命令 command2 # 執(zhí)行第三條命令 command3
在這個示例中,如果 command1?? 執(zhí)行失敗,腳本將繼續(xù)執(zhí)行 command2?? 和 command3,這可能會導(dǎo)致一些潛在的問題。
因此,使用 set -e 命令可以確保在腳本運行時自動退出,如果命令執(zhí)行失敗,則它將立即退出并返回一個非零的退出狀態(tài)碼,以避免可能的問題。
shell set +e、set -e的用法
set +e當這句之后遇到非零的返回值,會繼續(xù)執(zhí)行
su.這句之后遇到非零返回值,會直接退出
到此這篇關(guān)于shell中set -e的具體使用的文章就介紹到這了,更多相關(guān)shell set -e內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux命令行bandit使用練習(xí)實戰(zhàn)
這篇文章主要為大家介紹了linux命令行bandit使用練習(xí)實戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Shell腳本bash: ./t.sh:/bin/bash^M:損壞的解釋器: 沒有那個文件或目錄
這篇文章主要介紹了Shell腳本bash: ./t.sh:/bin/bash^M:損壞的解釋器: 沒有那個文件或目錄,需要的朋友可以參考下2015-04-04
Shell alias給命令設(shè)置別名的實現(xiàn)方法
這篇文章主要介紹了Shell alias給命令設(shè)置別名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

