天天看點

shell腳本報錯 /bin/bash^M: bad interpreter

在windows下儲存了一個腳本檔案,用ssh上傳到centos,添權重限執行nginx提示沒有那個檔案或目錄。

shell腳本放到/etc/init.d/目錄下,再執行/etc/init.d/nginx,提示多了這句/bin/bash^M: bad interpreter。

網上找了資料才知道

如果這個腳本在Windows下編輯過,就有可能被轉換成Windows下的dos文本格式了,這樣的格式每一行的末尾都是以\r\n來辨別,它的ASCII碼分别是0x0D,0x0A。如果你将這個腳本檔案直接放到Linux上執行就會報/bin/bash^M: bad interpreter錯誤提示。

解決方法很簡單,首先你先要檢查一下看看你的腳本檔案是不是這個問題導緻的,用vi指令打開要檢查的腳本檔案,然後用

:set ff?

指令檢查一下,看看是不是dos字樣,如果是dos格式的,繼續執行

:set ff=unix

然後執行

:qw

儲存退出即可。

繼續閱讀