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