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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 曾经使用了几年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。...
    Sylar丶阅读 912评论 0 0
  • #########################################################...
    路峰阅读 1,095评论 0 0
  • 光标移动 h 光标左移,同 <Left> 键j ...
    guanguans阅读 1,878评论 0 16
  • 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我...
    Dyworldhua阅读 1,424评论 0 2
  • 半暖今年7岁了,依稀可以记得一些事情,她家里有6口人,···不对,目前应该是7口,有个2岁的小宝宝,叫小童,是表姑...
    FingertipFish阅读 257评论 0 0