Shell腳本報錯:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory
阿新 • • 發佈:2017-05-17
class height 格式 as3 nbsp 打開 title 腳本文件 執行命令
在學習shell中測試case參數命令代碼如下
#!/bin/bash #switch測試 case $1 in start) echo ‘start‘ ;; stop) echo ‘stop‘ ;; esac
在給當前shell腳本賦予了執行權限之後,執行報錯代碼如下
[[email protected] sh]# ./switch.sh stop -bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory
主要原因是switch.sh是我在Windows下通過Sublime Text編輯後,在linux系統裏執行的。.sh文件的格式為dos格式。而linux只能執行格式為unix格式的腳本。
我們可以通過vi編輯器來查看文件的format格式。步驟如下:
1:首先用vi命令打開當前的shell腳本文件
2:在vi命令模式中使用 :set ff 命令
3:解決方法有兩個
①直接當下輸入命令
:set ff=unix
②返回文件當下目錄執行命令
dos2unix switch.sh
如果當前系統沒有dos2unix命令,還需要去網上下載安裝包解壓,到此為止。
Shell腳本報錯:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory