運行腳本時出現了這樣一個錯誤,打開以後並無找到所謂的^M,查了以後才知道原來是文件格式的問題,也就是linux和windows之間的不徹底兼容。。。
具體細節無論,若是驗證:
vim test.sh
:set ff?
若是出現fileforma=dos那麼就基本能夠肯定是這個問題了。
:set fileformat=unix
:wq
OK了。。。。。。。
html
bash: ./eth0-access: /bin/bash^M: bad interpreter: 沒有那個文件或目錄
linux
錯誤分析:vim
由於操做系統是windows,我在windows下編輯的腳本,因此有可能有不可見字符。windows
腳本文件是DOS格式的, 即每一行的行尾以 來標識, 其ASCII碼分別是0x0D, 0x0A.bash
能夠有不少種辦法看這個文件是DOS格式的仍是UNIX格式的, 仍是MAC格式的spa
解決方法:操作系統
vim filename
unix
而後用命令code
:set ff? #能夠看到dos或unix的字樣. 若是的確是dos格式的。
orm
而後用
:set ff=unix #把它強制爲unix格式的, 而後存盤退出。
再次運行腳本。