解決 centos下執行sh文件報錯“/bin/bash^M: 壞的解釋器:沒有那個文件或目錄” 問題


今天部署一個springboot項目到centos系統下,自己在Windows寫的啟動腳本,執行過程中出現/bin/bash^M: 壞的解釋器:沒有那個文件或目錄錯誤,無法正常運行。

按照以往的經驗分析是因為在Windows環境下的換行符在Linux下是無法被識別的,出現一個^M符號。然后vi一下這個啟動腳本,想重新把換行符刪除,結果無效。

找了一下,看到另外一個博友的文章,采用他的方法,問題解決了,原理其實差不多,也是替換Windows的換行符。方法如下:
在腳本所在目錄里面執行下面的命令

sed -i 's/\r$//' startup.sh

文章末尾處還提到了一個工具dos2unix,我沒有試過,大家可以自行去試驗。

當然最好的習慣還是應該在Linux環境下編寫這些腳本,從而避免這種問題。

參考:https://blog.csdn.net/liuqiyao_01/article/details/41542101
————————————————
版權聲明:本文為CSDN博主「左邊的天堂」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/tiantang_1986/article/details/91969758


免責聲明!

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



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