爽解报错:/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
相关推荐
Gaoithe3 小时前
ubuntu 端口复用
linux·运维·ubuntu
德先生&赛先生4 小时前
Linux编程:1、文件编程
linux
粉红色回忆4 小时前
在bash中进行基本数值计算
shell
程序猿小D5 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
背太阳的牧羊人5 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
多多*5 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
IT界小黑的对象7 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
SilentCodeY7 小时前
Ubuntu 系统通过防火墙管控 Docker 容器
linux·安全·ubuntu·系统防火墙
weixin_527550407 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
keson要进步7 小时前
CICD实战(二)-----gitlab的安装与配置
linux·运维·gitlab