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.sh2)在命令编辑行

输入:%s/^M//g注意:上述命令行中的“M”符,不是“”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。这样替换掉以后,保存就可以执行了。
就是:>


参考: blog.csdn.net/Michael17

发布于 2020-01-26 11:56