在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
保存退出即可。
轉載自:https://my.oschina.net/chunto/blog/227003