经常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M,这将导致shell脚本运行错误,主要是因为dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致。
主要解决如下:
(1)在VI编辑器中将^M删除:
将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m) s///g是shell的替换命令
此命令必须是手动打上,不可复制。
(2)dos2unix 命令
dos2unix filename