運行腳本時出現了這樣一個錯誤,打開之后并沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的
運行腳本時出現了這樣一個錯誤,打開之后并沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的不完全兼容。。。
具體細節不管,如果驗證:
vim test.sh
:set ff?
如果出現fileforma=dos那么就基本可以確定是這個問題了。
:set fileformat=unix
:wq
OK了。。。。。。。
bash: ./eth0-access: /bin/bash^M: bad interpreter: 沒有那個文件或目(mu)錄
錯誤分析:
因為操作系(xi)統是windows,我(wo)在windows下編輯的腳本,所以有可(ke)能有不可(ke)見字(zi)符。
腳本文件是DOS格式的, 即每一行的行尾以 來標識, 其ASCII碼分別是0x0D, 0x0A.
可以有很多種辦法(fa)看這個文(wen)件是(shi)DOS格(ge)(ge)式(shi)的還(huan)是(shi)UNIX格(ge)(ge)式(shi)的, 還(huan)是(shi)MAC格(ge)(ge)式(shi)的
解決(jue)方法(fa):
vim filename
然后用命令
:set ff? #可以看到dos或unix的字(zi)樣. 如果的確是dos格式的。
然后用
:set ff=unix #把它強制為(wei)unix格(ge)式(shi)的, 然后存盤退出(chu)。
再次(ci)運行腳本。
微信(xin)掃碼關注 億(yi)華聯眾 公眾號