今天用shell傳送郵件時,總是報打不開或者找不到檔案錯誤。後來alex發現是檔案是dos格式,在vi下轉換成unix格式之後就可以了。
dos格式檔案傳輸到unix系統時,會在每行的結尾多乙個^m,當然也有可能看不到,但是在vi的時候,會在下面顯示此檔案的格式,比如 "dos.txt" [dos] 120l, 2532c 字樣,表示是乙個[dos]格式檔案,如果是mac系統的,會顯示[mac],因為檔案格式的原因有時會導致我們的unix程式,或者shell程式出現錯誤,那麼需要把這些dos檔案格式轉換成unix格式,方法是 :
用vi開啟dos檔案:vi dos.txt
執行轉換命令:set fileformat=unix (或者:set ff=unix) 或者使用命令:dos2unix dos.txt
這樣檔案就轉換成unix格式檔案了, 一般在windows機器上編寫好了檔案傳到unix下就可能會出現這樣的情況.
指令碼檔案dos格式轉unix格式
如果作業系統是windows,在windows下編輯的指令碼,有可能有不可見字元。指令碼檔案是dos格式的,即每一行的行尾以 r n來標識,其ascii碼分別是0x0d,0x0a。可以有很多種辦法看這個檔案是dos格式的還是unix格式的,還是mac格式的 vi filename set ff 可看...
DOS文字格式轉Unix文字格式Python指令碼
網上一頓查,發現是dos文字格式與unix文字格式有差異的問題。好在ubuntu有dos2unix工具,可以把dos文字格式轉為unix文字格式,使用方法見 但是問題來了,核心原始碼千千萬,不能乙個乙個手動轉吧?所以寫了個python指令碼,這個指令碼的功能是,把當前目錄包括子目錄的所有檔案轉為un...
改 DOS檔案格式轉UNIX檔案格式
windows中的文字檔案的換行符是 r n 而linux中是 n dos格式檔案傳輸到unix系統時,會在每行的結尾多乙個 m,當然也有可能看不到,但是在vi的時候,會在下面顯示此檔案的格式,比如 dos.txt dos 120l,2532c 字樣,表示是乙個 dos 格式檔案,如果是mac系統的...