shell脚本syntax error near unexpected token `done'

Posted 陈晨辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于shell脚本syntax error near unexpected token `done'的主要内容,如果未能解决你的问题,请参考以下文章

shell编程报错:“syntax error near unexpected token `”

shell脚本syntax error near unexpected token `done'

linux的shell脚本报错“syntax error near unexpected token `”的解决

执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file

shell出现syntax error near unexpected token `<' 解决方法

shell 脚本,在调试时,FOR循环那行代码,总是出现错误syntax error near unexpected token do(转)