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

  在windows端用notepad++写了个shell脚本,然后通过ftp工具传到了linux,运行报错syntax error near unexpected token `,左看右看shell脚本都没有问题。

 

      用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M。

 

  在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行:

  1)vi -b setup.sh

  2)按ESC键 然后:冒号输入%s/^M//g

  注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。

 

  这样替换掉以后,保存就可以执行了。当然还有其他的替换方式比如:

  1、一些linux版本有 dos2unix 程序,可以用来祛除^M。

  2、cat filename1 | tr -d "/r" > newfile 去掉^M生成一个新文件,还有sed命令等,凡是可以替换的命令都是可以用来新生成一个文件的。

       更多方法可参考:http://mrcelite.blog.51cto.com/2977858/745576

参考:http://blog.csdn.net/xyp84/article/details/4435899

posted @ 2017-05-21 12:04  夜雨西风  阅读(790)  评论(0编辑  收藏  举报