爽解报错:/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
相关推荐
馨谙2 小时前
使用 systemd 用户服务管理容器:从概念到实践
linux·容器
人工智能训练3 小时前
Windows中如何将Docker安装在E盘并将Docker的镜像和容器存储在E盘的安装目录下
linux·运维·前端·人工智能·windows·docker·容器
zzzsde3 小时前
【Linux】基础开发工具(1):软件包管理器&&vim编辑器
linux·运维·服务器
tan180°3 小时前
Linux网络TCP(上)(11)
linux·网络·c++·后端·tcp/ip
断水客3 小时前
如何在手机上搭建Linux学习环境
linux·运维·学习
会飞的土拨鼠呀3 小时前
ubuntu24安装snmp服务
linux·运维
胖好白3 小时前
【RK3588开发】模型部署全流程
linux·人工智能
司铭鸿3 小时前
图论中的协同寻径:如何找到最小带权子图实现双源共达?
linux·前端·数据结构·数据库·算法·图论
last demo4 小时前
nfs服务器
linux·运维·服务器·php
讨厌下雨的天空6 小时前
Linux信号
linux·运维·c++