1、在Linux下執行某個腳本文件卻提示$'\r': command not found,如下圖:
2、錯誤原因:
? ? ?a、?Windows 風格的換行符:Windows 系統使用?\r\n
?作為行結束符,而 Linux 和 Unix 系統使用?\n
。當你從 Windows 環境中復制文本到 Linux 環境時,可能會不小心包含?\r
(回車符)。
? ? ?b、腳本文件中的錯誤:如果在 Linux 上編輯一個原本在 Windows 上創建的腳本文件,并且使用了 Windows 風格的文本編輯器(如 Notepad++ ),這些編輯器可能會在保存時添加額外的?\r
?字符。
3、解決辦法
? ?使用?sed
?命令手動刪除文件中的?\r
?字符
sed -i 's/\r$//' XXX.sh