解決Linux環境下執行腳本時報錯:/bin/bash^M: 壞的解釋器: 沒有那個文件或目錄


在Windows 10 系統下編輯了一個發送消息到企業微信的shell腳本文件,然后copy到了遠程的Linux服務器,當運行的時候報錯了。如下所示:

root@ubuntu116:/data/gitlabData/auto_back_shell# ./qiyewechat-notifier.sh 
-bash: ./qiyewechat-notifier.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄
root@ubuntu116:/data/gitlabData/auto_back_shell#

錯誤原因:
這個文件在Windows 下編輯過,在Windows下每一行結尾是\n\r,而Linux下則是\n,所以才會有 多出來的\r。

使用指令sed -i 's/\r$//' xxxxxxx.sh,上面的指令會把 xxxxxxx.sh 中的\r 替換成空白!

例子:

sed -i 's/\r$//'xxx.sh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM