運(yùn)行腳本時(shí)出現(xiàn)了這樣一個(gè)錯(cuò)誤,打開之后并沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的
運(yùn)行腳本時(shí)出現(xiàn)了這樣一個(gè)錯(cuò)誤,打開之后并沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的不完全兼容。。。
具體細(xì)節(jié)不管,如果驗(yàn)證:
vim test.sh
:set ff?
如果出現(xiàn)fileforma=dos那么就基本可以確定是這個(gè)問題了。
:set fileformat=unix
:wq
OK了。。。。。。。
bash: ./eth0-access: /bin/bash^M: bad interpreter: 沒有那個(gè)文件或目錄
錯(cuò)誤分析:
因?yàn)椴僮飨到y(tǒng)是windows,我在windows下編輯的腳本,所以有可能有不可見字符。
腳本文件是DOS格式的, 即每一行的行尾以 來標(biāo)識(shí), 其ASCII碼分別是0x0D, 0x0A.
可以有很多種辦法看這個(gè)文件是DOS格式的還是UNIX格式的, 還是MAC格式的
解決方法:
vim filename
然后用命令
:set ff? #可以看到dos或unix的字樣. 如果的確是dos格式的。
然后用
:set ff=unix #把它強(qiáng)制為unix格式的, 然后存盤退出。
再次運(yùn)行腳本。
微信掃碼關(guān)注 億華聯(lián)眾 公眾號(hào)