shell脚本syntax error near unexpected token `done'

社会主义新天地 提交于 2020-02-27 11:43:01

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!