爽解报错:/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
相关推荐
看到代码头都是大的10 小时前
CentOS环境下手动升级openssl、openssh
linux·运维·centos
浮生若城10 小时前
Linux——Ext系列文件系统
linux·运维·服务器
枳实-叶10 小时前
【Linux驱动开发】第16天:按键中断完整实战
linux·运维·驱动开发
杨云龙UP11 小时前
Oracle Recycle Bin 回收站详解:DROP TABLE 后还能找回吗?
linux·运维·数据库·sql·mysql·oracle
i7i8i9com12 小时前
Hermes Agent 安装记录
开发语言·bash·hermes
又熟了13 小时前
乌班图Ubuntu安装
linux·运维·ubuntu
Cat_Rocky13 小时前
Linux-ansible之Playbook简单应用
linux·网络·ansible
Do_GH13 小时前
【Linux】09.WSL+SVN部署操作说明
linux·运维·svn
dualven_in_csdn14 小时前
mqtt消息及日志查看
linux·运维·服务器
都在酒里14 小时前
Linux字符设备驱动开发(四):进入硬件世界——GPIO子系统与LED设备驱动
linux·运维·驱动开发