windows下建立文件的换行符^M导致linux下的shell脚本运行错误的解决方案

2015/07/06 posted in  服务端
Tags:  #shell #windows

date: 2015-07-06 11:13

ows下编辑的文件远程传送到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

(2)使用支持修改换行符的编辑器另存为一下文件,比如emeditor