Linux 下sh腳本執行 syntax error near unexpected token `in 錯誤

今天 在裝linux、的時候爲了圖方便,直接用Dreamweaver來編輯配置文件,結果就一直報這個錯誤。在vi下打開加上-b參數 發現在每段文字結尾的時候都會自動加上^M
歷史

long long ago..... 老式的電傳打字機使用兩個字符來另起新行。一個字符把滑動架移回首位 (稱爲回車,<CR>,ASCII碼爲0D),另一個字符把紙上移一行 (稱爲換行, <LF>,ASCII碼爲0A)。當計算機問世以後,存儲器曾經非常昂貴。有些人就認定沒必要用兩個字符來表示行尾。UNIX 開發者決定他們可以用 一個字符來表示行尾,Linux沿襲Unix,也是<LF>。Apple 開發者規定了用<CR>。開發 MS-DOS以及Windows 的那些傢伙則決定沿用老式的<CR><LF>。

因爲MS-DOS及Windows是回車+換行來表示換行,因此在Linux下用Vim查看在Windows下用VC寫的代碼,行尾後的“^M”符號,表示的是符。

解決辦法:

1)vi -b back.sh

2)%s/^M//g

///////注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章