今天将之前写好的shell脚本拿出来用,发现执行时就报错:syntax error near unexpected token

很奇怪,之前执行的一直没事...


后来在网上找了下,发现脚本内容每行尾行都添加了^M的字符,查看方式:vi -b 打开脚本文件

后来想了下,造成这个的原因应该是脚本有试过拿到win机器上存放,期间也用win下的编辑器编辑过


解决:

1、vi -b scripts.sh

2、直接在文本里将^M替换掉:%s/^M//g


备注:这里的^符号是“Ctrl+v”,M符号是“Ctrl+m”