執行shell腳本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解決方法


在windows機器下新建了一個shell腳本如下

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

在Linux上的很多操作一般都是用腳本來實現了,特別是線上的服務器,不用腳本是,直接在上面敲是很危險的,一不小心,手一抖, 那就完了。但是,很多朋友自己的筆記本用的都是windows系統,這真把Ubuntu做為自己筆記本系統的人不會很多,不過我還是喜歡Ubuntu,之 前在Ubuntu上寫了一些腳本,並且試下來也沒什么問題,然后就把這些腳本放到了windows系統的工作機上去了,之后呢,又在上面編輯過了,結果, 就出現了現在我遇到的問題,我把windows上的腳本弄到Linux上,非常熟練的,chmod u+x test.sh ,./test.sh 結果,報錯了:/bin/bash^M: bad interpreter,從這個提示來看是/bin/bash后面多了一個^M,我也打開看過,沒見到^M,后來仔細一想,原來問題可能出現在文件格式 上,

vim test.sh

:set ff?

fileformat=dos

上面的提示,顯示這個文件的格式是dos的,問題原來就是出來這邊,下面就簡單了,只要:set fileformat=unix 就可以了!

接下來我的shell腳本就可以跑起來了!

 

方法2:

yum -y install dos2unix

dos2unix jstack.sh




免責聲明!

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



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