場景說明:今天網上找了一個備份mysql的shell腳本,在windows下新建了一個文件,把腳本複製進去,而後保存成.sh文件,上傳服務器執行,提示:-bash: ./backup_mysql.sh: /bin/bash^M: bad interpreter: 沒有那個文件或目錄.mysql
緣由說明:網上找了資料才知道
若是這個腳本在Windows下編輯過,就有可能被轉換成Windows下的dos文本格式了,這樣的格式每一行的末尾都是以\r\n來標識,它的ASCII碼分別是0x0D,0x0A。若是你將這個腳本文件直接放到Linux上執行就會報/bin/bash^M: bad interpreter錯誤提示。sql
解決方法:shell
用vi命令打開文件windows
vi backup_mysql.shbash
而後:服務器
:set ff?
命令檢查一下,看看是否是dos字樣,若是是dos格式的,繼續執行
:set ff=unix
而後執行
:wq
保存退出便可。unix