shell中防止意外發生的兩個實用的設置

set -o nounset

set -o errexit

set -o nounsetspa

在默認狀況下,遇到不存在的變量,會忽略並繼續執行,而這每每不符合預期,加入該選項,能夠避免惡果擴大,終止腳本的執行。調試

畫外音:有些變量名的手誤,會讓人崩潰的調試半天,經過這個方式,這類手誤秒發現。blog

set -o errexitit

在默認狀況下,遇到執行出錯,會跳過並繼續執行,而這每每不符合預期,加入該選項,能夠避免惡果擴大,終止腳本的執行。class

畫外音:有些Linux命令,例如rm的-f參數能夠強制忽略錯誤,此時腳本便沒法捕捉到errexit,這樣的參數在腳本里是不推薦使用的。變量

相關文章
相關標籤/搜索