一些人喜歡用vim來寫linux shell script, 但是, 有的人喜歡在Windows下用一些方便的編輯器(比如鼎鼎大名的Notepad++)寫好, 然后拷貝文件到linux下, 結果呢, 在執行腳本a.sh的時候, 會出現如下問題:
什么原因呢, 我們有理由懷疑是文件格式問題? 我們用vim a.sh進入a.sh這個文件, 然后在底部模式下, 執行:set ff查看一下, 結果發現fileformat=dos, 看看, 果然是文件格式問題, 那怎么解決呢?
方法一:vim a.sh進入a.sh后, 在底部模式下, 執行:set fileformat=unix后執行:x或者:wq保存修改。 然后就可以執行./a.sh運行腳本了。(我親自試過, 是ok的)
方法二:直接執行sed -i "s/\r//" a.sh來轉化, 然后就可以執行./a.sh運行腳本了。(我親自試過, 是ok的)
方法三:直接執行dos2unix a.sh來轉化, 然后就可以執行./a.sh運行腳本了。(我的linux上執行dos2unix ./a.sh失敗, 但是不要放棄啊, 加個busybox就可以了), 如下: