Linux下的bash腳本是不支持換行符\r
的,若是運行從windows拷貝的文件,出現/bin/bash^M: 壞的解釋器: 沒有那個文件或目錄
這樣的錯誤提示,不妨檢查下文件格式是否有誤。html
若是是格式問題,有以下兩種方法:windows
1、查找替換法bash
cat -A filename
查看\n
及\r
空白符,\n
會顯示爲$
,而\r
會顯示爲^M
。sed -i 's/\r$//'filename
替換掉所有\r
字符。2、VIM重置文檔格式.net
:set ff?
查看文件格式,能看到fileformat=dos
這樣的提示。:set ff=unix
強制轉換爲unix格式。:wq
保存退出。而後再次運行看看是否還出現一樣的錯誤,若是仍有錯,就該檢查語法和相關命令是否正確了。unix
參考:code