shell腳本syntax error near unexpected token `done'


1、修改文件類型

執行:
vi finddir.sh
輸入
:set ff
如果fileformat=dos ,修改為unix:
:set ff=unix
執行保存命令:
:wq

2、刪除隱藏字符

用命令vi -b 打開你的SHELL腳本文件,你會。發現每行腳本最后多了個^M
因為MS-DOS及Windows是回車+換行來表示換行,因此在Linux下用Vim查看在Windows下用VC寫的代碼,行尾后的“^M”符號,表示的是符。

在Vim中利用替換功能就可以將“^M”都干掉,鍵入如下替換命令行:
1)vi -b setup.sh
2)在命令編輯行<就是: 按ESC鍵 然后shift+:冒號>輸入:%s/^M//g
注意:上述命令行中的“M”符,不是“”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”鍵生成的。
這樣替換掉以后,保存就可以執行了。

參考:https://blog.csdn.net/Michael177/article/details/101618068


免責聲明!

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



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