爽解报错:/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
相关推荐
飞凌嵌入式5 分钟前
解析一下面向教育领域的RV1126B\RK3506B\RK3576开发板
linux·人工智能
Xの哲學8 分钟前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
gis分享者34 分钟前
Shell 脚本中如何使用 trap 命令捕捉和处理信号(中等)
shell·脚本·信号·处理·trap·捕捉
菜择贰1 小时前
在linux(wayland)中禁用键盘
linux·运维·chrome
oMcLin1 小时前
如何在 Manjaro Linux 上通过配置systemd服务管理,提升微服务架构的启动速度与资源效率
linux·微服务·架构
Kira Skyler1 小时前
bpftool -S 签名功能实现解析
linux
小杰帅气2 小时前
进程优先级与切换调度
linux·运维·服务器
方便面不加香菜2 小时前
Linux基本指令(1)
linux
济6172 小时前
linux(第十四期)--Uboot移植(1)-- Ubuntu20.04
linux
奋斗的阿狸_19862 小时前
键盘组合键监听与 xterm 唤醒程序
linux·运维·服务器