1. 程式人生 > >bash: ./1.sh: /bin/bash^M: bad interpreter: 沒有那個檔案或目錄

bash: ./1.sh: /bin/bash^M: bad interpreter: 沒有那個檔案或目錄

有時候編寫指令碼時會出現類似標題列出的錯誤,這個問題大多數是因為你的指令碼檔案在windows下編輯過。windows下,每一行的結尾是\n\r,而在linux下檔案的結尾是\n,那麼你在windows下編輯過的檔案在linux下開啟看的時候每一行的結尾就會多出來一個字元\r

檢視
cat -A yourfile時你可以看到這個\r字元被顯示為^M,這時候只需要刪除這個字元就可以了。

解決

sed -i 's/\r$//' yourfile