sh檔案在windows下修改後無法執行的解決方案以及shell指令碼中含中文亂碼

來源:互聯網
上載者:User

sh檔案在windows下修改後無法執行的解決方案

因為大部分人使用的作業系統是windows,同時也因為windows的可視化介面做得比較人性化,所以在修改linux的一個sh檔案時,為了方便拉到window上用editplus編輯,上傳回linux去後,這個SH卻不能運行,錯誤提示是:: command not found。

原因是CR/LF問題,在dos/window下按一次斷行符號鍵實際上輸入的是“斷行符號CR)”和“換行LF)”,而linux/unix下按一次斷行符號鍵只輸入“換行LF)”,所以修改的sh檔案在每行都會多了一個CR,所以linux下運行時就會報錯找不到命令。

解決辦法:

1. 在windows下使用UltraEdit編寫shell指令碼,編寫完畢後,可通過下列方式避免因windows的斷行符號符與LINUX的斷行符號符不同而引起的command notfound錯誤和中文亂碼錯誤。

1). 可設定檔案 ->轉換->DOS->UNIX.

2). 修改完畢後需要點擊檔案->設定另存新檔,編碼方式選為UTF-8-無BOM,儲存UNIX分行符號-LF)。如所示。

650) this.width=650;" width="553" height="137" src="/e/u/themes/default/images/spacer.gif" style="border:1px solid #ddd;" alt="spacer.gif" />





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.