爽解报错:/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
相关推荐
xlp666hub1 分钟前
如果操作GPIO可能导致休眠,那么同步机制绝不能采用spinlock
linux·面试
RisunJan21 分钟前
Linux命令-mkbootdisk(可建立目前系统的启动盘)
linux·运维·服务器
朽棘不雕1 小时前
Linux工具(上)
linux·运维·服务器
BestOrNothing_20152 小时前
Ubuntu 22.04 下调整 VS Code 界面及字体教程
linux·vscode·ubuntu22.04·界面调整
桌面运维家2 小时前
Windows/Linux云桌面:高校VDisk方案部署指南
linux·运维·windows
mzhan0172 小时前
Linux:intel:Cache Allocation tech
linux·cpu
学机械的鱼鱼2 小时前
【踩坑记录】Linux环境下FreeCAD打开后一新建就崩
linux
小璐资源网3 小时前
UPS电源管理:应对突发断电的应急方案
linux·运维·服务器
grrrr_13 小时前
【工具类】虚拟机 + Ubuntu 安全部署 OpenClaw,联动 Ollama 零成本解锁云端大模型
linux·运维·ubuntu·#openclaw·#小龙虾
OKkankan3 小时前
深入理解linux进程
java·linux·c++