爽解报错:/bin/bash^M: bad interpreter: No such file or directory

把Shell脚本从Windows下移到Linux环境下,会有报错

/bin/bash^M: bad interpreter: No such file or directory。

原因是在Windows中,文本文件的行尾通常以回车符(CR)和换行符(LF)的组合表示(称为CRLF),而在Linux和Unix系统中,行尾仅以换行符(LF)表示。

Shell脚本拷贝到windows系统上时变成了DOS格式,以\r\n结尾,而unix系统以\n结尾。

解决方法:使用sed命令删除脚本中的回车符。

复制代码
sed -i 's/\r$//' xxx.sh
相关推荐
Lynnxiaowen6 小时前
今天继续学习shell脚本
linux·运维·学习·云计算·bash
云上小朱6 小时前
文件下载-ubuntu操作系统下载指定文件
linux·shell
hmcjn(小何同学)6 小时前
轻松Linux-9.进程间通信
linux·运维·服务器·c++·bash
月光在发光6 小时前
19_内核模块挂载问题处理
linux·运维·服务器
Liang_GaRy6 小时前
心路历程-Linux如何赋予权限?
linux·运维·服务器
Hello阿尔法6 小时前
基于 NFS 的文件共享实现
linux·嵌入式
打不了嗝 ᥬ᭄6 小时前
【Linux】线程概念与控制
linux·c++
pengfei_M6 小时前
四、FVP启动linux
linux·单片机·嵌入式硬件
路溪非溪6 小时前
Linux的gpio子系统
linux·运维·服务器
范紫涵-19期-工职大6 小时前
虚拟机之CentOS、网络设置的有趣问题
linux·网络·centos