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
命令,當(dāng)腳本中有命令執(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當(dāng)這句之后遇到非零的返回值,會繼續(xù)執(zhí)行
su.這句之后遇到非零返回值,會直接退出
到此這篇關(guān)于shell中set -e的具體使用的文章就介紹到這了,更多相關(guān)shell set -e內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux和windows下的自動ftp腳本(shell bat)
linix和windows下的自動ftp腳本(shell bat),供大家學(xué)習(xí)參考2013-02-02解決linux下openoffice word文件轉(zhuǎn)PDF中文亂碼的問題
下面小編就為大家?guī)硪黄鉀Qlinux下openoffice word文件轉(zhuǎn)PDF中文亂碼的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11