爽解报错:/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
相关推荐
lzh200409191 天前
深入学习Linux进程间通信:解析消息队列
linux·c++
苏宸啊1 天前
进程替换库函数
linux
时光之源1 天前
安装WSL2后在其中安装Ubuntu24.04.4再安装OpenClaw全流程傻瓜式教学:WSL2 + Ubuntu 24.04 + OpenClaw
linux·运维·ubuntu·openclaw·龙虾
大袁同学1 天前
【进程信号】:溯源硬件起中断,掌舵内核控信号
linux·信号处理
能喵烧香1 天前
跨越系统的开源尝试:KDE Windows版本全解析
linux·windows·开源
智算菩萨1 天前
OpenAI Codex 国内使用完全指南:Windows/macOS/Linux 三平台详细安装配置教程(现在最新的有gpt-5.3-codex和gpt-5.4)
linux·windows·gpt·macos·ai·ai编程·codex
Yupureki1 天前
《Linux网络编程》4.应用层HTTP协议
linux·服务器·c语言·网络·c++·http
孙同学_1 天前
【Linux篇】网络层与数据链路层详解
linux·网络·智能路由器
拾光Ծ1 天前
【Linux系统】进程信号(上)
linux·运维·服务器·面试·信号处理
咖喱o1 天前
网络-堆叠
linux·运维·服务器·网络