爽解报错:/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
相关推荐
唐青枫27 分钟前
Linux sshfs 安全挂载远程文件系统 命令详解
linux·ssh
退役小学生呀29 分钟前
十七、K8s 可观测性:全链路追踪
linux·云原生·容器·kubernetes·k8s
努力做小白29 分钟前
Linux驱动20 --- FFMPEG视频API
linux·驱动开发·单片机·嵌入式硬件·ffmpeg·lvgl
豪斯有话说33 分钟前
Linux:进程控制
linux
chirrupy_hamal33 分钟前
如何提升 TCP 传输数据的性能?详解
linux·网络·tcp
fengyehongWorld39 分钟前
Linux join命令快速从大文件中匹配内容
linux·运维
源远流长jerry39 分钟前
网络编程概述与UDP编程
linux·服务器·网络·网络协议·udp
参.商.2 小时前
【RH134 问答题】第 6 章 管理 SELinux 安全性
linux·运维
大锦终3 小时前
【Linux】进程状态
linux·运维·服务器·网络
java叶新东老师8 小时前
git stash 命令详解
linux·运维·flink