Unix\Linux 執行 shell 報錯:“$'\r': 未找到命令” 的解決辦法


原因

原因是因為 shell 腳本是在 Windows 編寫導致的換行問題,具體原因是 Windows 的換行符號為 CRLF\r\n),而 Unix\Linux 為 LF\n),Macintosh 為(\r)

名稱解釋

縮寫

全稱

ASCII轉義

說明

CR

Carriage Return

\r

回車,Macintosh 的回車符合

LF

Linefeed

\n

換行,Unix\Linux 的換行符

CRLF

Carriage Return & Linefeed

\r\n

回車並換行,Windows 的換行符

解決一:在windows 中解決

可以通過notepad++ 查看所有字符

 雙擊下圖紅框進行修改

 修改后

 解決二:在unix機解決

sed -i "s/^M//g" windows.sh
或
sed -i "s/\r//g" windows.sh

 

 


免責聲明!

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



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