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


windowslinuxshell腳本編碼和格式問題

 

 

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

1、異常問題 :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=unix

:wq

2、查詢編碼 :set fileencoding

:set fileencoding

3、轉換編碼 :set fenc=utf-8

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

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

:set fenc=utf-8

:w

4、顯示指定編碼 :set enc=utf-8

以指定的編碼顯示文本,但不保存到文件中。

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

:set enc=編碼 #比如:

:set enc=utf-8

5、查看模式 :set ff

查看當前文本的模式類型,一般為dos,unix

:set ff

6、設置模式 :set ff=unix

:set ff=unix

:set ff=dos

:w

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM