shell 解决syntax error问题的一种方法

如果使用Windows编辑的 shell脚本中行尾有可能存在“^M”符号

因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表示的是符。

在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行:
  1)vi -b setup.sh
  2)在命令编辑行<就是: 按ESC键 然后shift+:冒号>输入:%s/^M//g
  注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。
  这样替换掉以后,保存就可以执行了。

  当然还有其他的替换方式比如:
  a.一些linux版本有 dos2unix 程序,可以用来祛除^M。
  b.cat filename1 | tr -d “/r” > newfile 去掉^M生成一个新文件,还有sed命令等,凡是可以替换的命令都是可以用来新生成一个文件的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章