1. 程式人生 > >cygwin下執行shell指令碼出現的錯誤

cygwin下執行shell指令碼出現的錯誤

想在空閒時間學習一下shell指令碼程式設計,由於不方便在公司,不方便在linux下執行,故選擇在cygwin下模擬。

而在cygwin下,並不比真正的linux,會出現各種奇葩的問題。

問題一:

用notepad++下編輯sh檔案,執行時出現  syntax error near unexpected token `$'do\r'' 錯誤

原因:

所有的回車換行都是windows的CR LF:

notepad++中,檢視->顯示符號->顯示所有符號,然後就看到了預料到的,所有的回車換行都是windows的CR LF:

解決方法:

將windows下面的CR LF,轉換為Linux下面的LF,即可。

此處,不需要再麻煩地去用其他dos2unix等工具了,notepad++就可以幫忙搞定:

編輯->檔案格式轉換->轉換為UNIX格式:

bash -o igncr ./myscript  代替 ./myscript