參考:https://blog.csdn.net/yongan1006/article/details/8142527
運行腳本時出現了這樣一個錯誤,打開之后並沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的不完全兼容。。。
具體細節不管,如果驗證:
vim test.sh
:set ff?
如果出現fileforma=dos那么就基本可以確定是這個問題了。
:set fileformat=unix
:wq
OK了。。。。。。。
bash: ./eth0-access: /bin/bash^M: bad interpreter: 沒有那個文件或目錄
錯誤分析:
因為操作系統是windows,我在windows下編輯的腳本,所以有可能有不可見字符。
腳本文件是DOS格式的, 即每一行的行尾以 來標識, 其ASCII碼分別是0x0D, 0x0A.
可以有很多種辦法看這個文件是DOS格式的還是UNIX格式的, 還是MAC格式的
解決方法:
vim filename
然后用命令
:set ff? #可以看到dos或unix的字樣. 如果的確是dos格式的。
然后用
:set ff=unix #把它強制為unix格式的, 然后存盤退出。
再次運行腳本。