linux和Windows文件不兼容(shell腳本執行錯誤 $'\r': command not found)

背景

將linux通過samba服務映射到windows平臺,在win平臺下建立一個腳本,然後切換到linux下執行,報錯$’\r’: command not found。

原因

win平臺下的換行是:回車符 + 換行符,也就是\r\n。unix下是換行符\n。linux下不識別\r爲回車符,所以導致每行的配置都多了個\r,因此是腳本編碼的問題。

解決

(1)在linux上執行$ dos2unix xx.sh,再次執行腳本,報錯消失;
(2)在linux下用vim打開,強制保存爲unix格式:

vim test.sh
:set ff?
// 顯示dos的話
:set ff=unix
:wq
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章