shell脚本报错换行符syntax error near unexpected token \r
有时候一些windows下处理不当的sh脚本文件放到linux下执行报错, 提示存在换行符 原因主要就是window下EOL行结束是 \r\n 两个字符, 而linux,unix下是 \n 单字符。 以下vim命令做确认 #显示回车符(\r), 具体的在vim环境中会显示为 ^M 符号 :e ++ff=unix % #显示换行符(\n), 具体的再vim环境下回显示为 $ 符号。 #此命令同时会显示制表符, 在vim环境中显示为 ^I 符号 :set list 以上两条vim指令的查看效果也可通过一条shell指令实现 cat -A filename 删除回车符, 使shell脚本能正常运行 :%s/\r//g 也可通过shell指令将windows下格式文件转换为linux下格式文件 dos2UNIX filename 附: 将linux下格式文件转换为windows下格式文件 UNIX2dos filename 来源: oschina 链接: https://my.oschina.net/u/2400083/blog/508912