Linux Shell脚本语句执行失败,后续语句继续执行的问题
生活随笔
收集整理的這篇文章主要介紹了
Linux Shell脚本语句执行失败,后续语句继续执行的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux Shell腳本語句執行失敗,后續語句繼續執行的問題
- 問題
- 解決方法
問題
寫了一個自動部署java后端的腳本,大致如下:
A=password read -p "請輸入密碼:" PASSWD if [ "$PASSWD" == "$A" ] thenecho "密碼正確!"cd /auto_deployment/javaBackendPath/backendServicegit clean -f -dgit reset --hard HEADgit pullmvn clean install -Dmaven.test.skip=true -Pprodif [ $? -eq 0 ]thenecho "Succeed in building new commits."# 執行部署代碼fi elseecho "密碼錯誤,請重啟輸入!" fi由于shell腳本和python這些語言執行時,不太一樣。遇到錯誤和未成功執行的語句后并不會報錯退出,而是會報錯,然后繼續執行后續的語句。
上段代碼因為需要進入的“/auto_deployment/javaBackendPath/backendService”路徑沒有找到,就沒有執行,而是再當前的目錄下執行了之后git相關的語句,好巧不巧當前目錄再半年前是設置過git但一直沒有更新維護過的,整個文件夾就恢復到了半年前的樣子,后面寫的文件全部消失。最后是從當天的備份中還原回來的,花了4個小時。
解決方法
set -o errexit #增加這句話,出錯之后就會退出啦 set -e #這句話和上一句是一樣的,寫一個就好了 A=password read -p "請輸入密碼:" PASSWD if [ "$PASSWD" == "$A" ] thenecho "密碼正確!"cd /auto_deployment/javaBackendPath/backendServicegit clean -f -dgit reset --hard HEADgit pullmvn clean install -Dmaven.test.skip=true -Pprodif [ $? -eq 0 ]thenecho "Succeed in building new commits."# 執行部署代碼fi elseecho "密碼錯誤,請重啟輸入!" fi總結
以上是生活随笔為你收集整理的Linux Shell脚本语句执行失败,后续语句继续执行的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python activex_如何在py
- 下一篇: 大学生计算机应用基础考试,大学计算机应用