shell脚本每行后面多了一个^M的原因和解决办法

Shell命令
2645
linux
linux 举报
2022-07-08

当执行在Windows系统下修改过的脚本时,会提示存在^M的错误,但是在Linux下直接使用vim打开并不存在。此时可以使用vim -b来打开脚本文件,就可以发现每行的末尾都存在^M。

  造成这样的原因是不同的系统使用了不同的换行符。在Windows下文本文件的每一行结尾都有一个回车(' ')和换行符(' ');在Linux下文本文件的每一行结尾都有一个回车(' ');在Mac下文本文件的每一行结尾都有一个换行符(' ')。

  所以,当在Linux使用vim打开Windows编辑过的脚本时,^M代表的就是换行符(' ')。

  解决办法也很简单就是使用vim -b打开脚本文件,然后使用在交互模式下输入替换命令:%s/^M//g(注意:^M是由+和+打出来的),最后在交互模式下输入保存退出命令:wq即可。


倒序看帖 只看楼主
热点关注
You need Perl 5 安装openssl时报错提示需要安装perl 5
shell 脚本中常见的 if [ $? -ne 0 ]; 意思
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
shell脚本每行后面多了一个^M的原因和解决办法
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
extman-1.1自带了图形化显示日志的功能;此功能需要rrdtool的支持,您需要安装此些模块才可能正常显示图形日志。
postfix的相关个别参数设置
postfix中recipient/client/sender/helo四者的区别