今天运行一个自己写的一个shell脚本错误,想到问题可能是在windows下编辑过引起的,使用vi打开发现每行末尾都多了^M,于是想到使用vi的替换命令替换掉。
由于DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,在Linux下经常能看到C文件或者TXT文件每行末尾都有一个^M符号,这个会导致shell脚本运行错误。
我们可以采用VI的编辑器命令进行删除。
利用VI的查找替换命令,将^M替换为空格符
(1):在VI的编辑模式下,ESC shilt + : 输入 g/\^M/s/\^M//
回车,就删除掉了。
(2):在VI的编辑模式下,ESC shift + : 输入 %s/^M//g
回车,同样能删除掉。