[Jenkins]運行shell報錯:尋找匹配的 `"' 是遇到了未預期的文件結束符


 這里有一個坑(至少對於我來說):

報錯信息中的出錯行,並不代表真實腳本中的出錯行.

 

jenkins執行的shell內容如下:

第1行echo 1個字符串,少1個雙隱號

echo "233342
echo "12312" echo "34"

執行jenkins報錯如下:

/usr/local/tomcat/apache-tomcat-8.5.40/temp/jenkins5082891078041588552.sh:行4: 尋找匹配的 `"' 是遇到了未預期的文件結束符
Build step '執行 shell' marked build as failure Finished: FAILURE

可以看到錯信息顯示的是行4,但是並沒有行4.我是這樣理解的,jenkins(bash)發現 第1行缺少雙隱號之后,一直尋找到了shell腳本末尾,也沒有找到匹配的雙隱號,所以這里的行4,指的是,我已經找到文件末尾了,都沒有匹配到雙隱號,你這個腳本是有問題的,你自己去找到底是哪一行雙隱號少了吧.

 

按照我以前調試python程序的經驗,編譯器執行出一段代碼,代碼出現語法錯誤時,編譯器會拋出具體位置.(大部分情況下)
但是顯示這個經驗不適用於調試shelle腳本.

所以下次執行shell遇到這個問題,就仔仔細細去檢查有雙隱號的代碼吧


免責聲明!

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



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