shell腳本中set -e作用


最近學習shell腳本想到一個問題,如果腳本中出現了一條異常語句,甚至可以影響整個腳本的使用,那么是否有一旦出現問題就可以及時停止的方法呢?在shell腳本中set命令就可以輕松實現。set命令的-e參數,linux系統自帶的說明是:"Exit immediately if a simple command exits with a non-zero status.",也就是說,在"set -e"之后出現的代碼,一旦出現了返回值非零,整個腳本就會立即退出,那么就可以避免一些腳本的危險操作。

實驗如下:

#!/bin/sh
#set -e
ls /data/leo
echo $?
./ex1.sh

如果沒有使用set -e,在ls /data/leo語句時會提示找不到文件,但會繼續執行下一條語句

使用了set -e后,在ls /data/leo語句時依然會提示找不到文件,但不會執行下一條語句了

補充:關於exit 0 exit 1以及echo $?說明
exit 0---是正常退出的命令
exit 1---是非正常退出的命令
echo $?獲取上次命令執行的結果,如果是0就是正常執行,如果非0就是執行出現了異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM