問題描述
在編寫Linux 腳本後,運行該腳本出現如下錯誤。
[root@master kafka]# ./kk.sh stop
-bash: ./kk.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄
原因
- 我使用Windows 10系統上的Sublime Text3編寫腳本,然後上傳到Linux服務器執行。
- Windows系統中的換行符是**\n\r**,Linux系統中的換行符是**\n**,因此需要將**\r**替換爲空白。
解決方案
Linux sed命令可自動編輯一個或多個文件,執行以下命令即可。
# sed -i 's/\r$//' xxx.sh