Linux環境執行腳本報錯:-bash: ./xxx.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄(已解決)

問題描述

在編寫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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章