在windows系統上用notpad++編寫linux shell指令碼,當傳送到linux上執行時一直報錯說「syntax error: unexpected end of file」
原因:windows 的
dos下的文字檔案是以\r\n作為斷行標誌的,表示成十六進製制就是0d 0a。而unix下的文字檔案是以\n作為斷行標誌的,表示成十六進製制就是0a。所以在windows上編寫的指令碼上傳都linux執行時,需要vim 一下你的檔案,然後進入冒號的輸入模式,輸入set fileformat=unix,:wq儲存即可
另外,編寫的檔案只要在不同的系統進行了傳遞,就需要注意類似的問題
另外,最好是在ue編輯器上編輯,儲存時注意選擇unix的檔案格式
作業系統 換行符區分
windows,回車換行 carriage return and line feed n r crlf unix,換行 carriage return n cr mac,r r 回車,carriage return,表示使游標下移一格。n 換行,英文是new line,表示使游標到行首。r n 表示...
不同系統下的換行符
那麼,到底為什麼會出現這個提示的呢?檔案格式區別 我們先看看這三個者有何區別。很久以前,人們用老式的電傳打字機作為輸入裝置,它使用 兩個字元來另起新行。乙個字元把滑動架移回首位 稱為回車,另乙個字元把紙上移一行 稱為換行,當計算機問世後,由於儲存器曾經非常昂貴。有些人就認定沒必要用兩個字元來表示行尾...
不同作業系統中文字檔案換行符的區別
文字檔案的邏輯結構屬於流式檔案,採用ascii編碼標準儲存字元。ascii標準使得只含有ascii字元的文字檔案可以在unix macintosh microsoft windows dos和其它作業系統之間自由互動,而其它格式的檔案是很難做到這一點的。但是,在這些作業系統中,換行符並不相同,處理非...