天天看點

Linux:從windows到linux的shell腳本編碼和格式

從windows到linux的shell腳本編碼和格式問題

異常問題 :set ff=unix

  • 啟動腳本在啟動時報錯比如執行sh start.sh,時會報Command not found等等的錯誤,

因為我們在windows編寫或修改後的腳本是dos編碼,而正常的在Linux系統中執行的是unix編碼,在寫shell腳本的時候,在windows的上開發後,上傳到伺服器,可能會有檔案格式不正确,通過:set ff unix可以将dos格式設定為unix下的檔案格式,

解決方法:則在配置檔案中非編輯模式中輸入:

ff是fileencoding的簡寫,如下ff也可以寫成fileencoding

#檢視模式
:set ff

#修改模式
:set ff=unix

#儲存
:wq      

1、設定模式

#檢視模式,檢視目前文本的模式類型,一般為dos,如果是dos需要修改為unix,否則linux運作檔案錯誤
:set ff

#修改模式
:set ff=unix

#儲存
:wq      

2、查詢編碼 

#查詢編碼
:set fileencoding      

3、轉換編碼 

#轉換目前文本的編碼為指定的編碼,這裡的“編碼”常見為gbk utf-8 big5 cp936

#設定編碼
:set fenc=編碼            #比如下面的,注意要:w儲存一下,

#設定UTF-8
:set fenc=utf-8

#儲存
:wq!      

4、顯示指定編碼

#以指定的編碼顯示文本,但不儲存到檔案中。

#這裡的“編碼”常見為gbk utf-8 big5 cp936

:set enc=編碼 #比如:

:set enc=utf-8      

:%s/^M//g  這裡是如果文本裡面有^M結尾的話用此指令。

文章轉載至:https://www.cnblogs.com/zy-303/p/9287063.html

-----------------------------------

作者:怒吼的蘿蔔

連結:http://www.cnblogs.com/nhdlb/

-----------------------------------