爽解报错:/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
相关推荐
星光璀璨山河无恙4 分钟前
【Linux】grep命令
大数据·linux
稳联技术40 分钟前
科技潮头浪接天,一桥飞架两界连。EthernetIP转Profinet互译连
linux·服务器·网络
明金同学3 小时前
腾讯云海外服务器Window切换为linux系统(从Window DD 到 Linux)
linux·服务器·腾讯云
CC大煊4 小时前
【Linux】vi/vim 使用技巧
linux·运维·vim
是十一月末4 小时前
Linux的基本功能和命令
linux·服务器·开发语言·数据库
暮已深5 小时前
【RTAB-Map+VINS-Fusion+euroc】(Ubuntu 20.04)三维稠密重建-实践笔记
linux·笔记·ubuntu
浮尘笔记5 小时前
在Ubuntu服务器上备份文件到自己的百度网盘
linux·服务器·ubuntu
Hacker_xingchen5 小时前
影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE
linux·运维·unix
难以触及的高度5 小时前
Unix/Linux 命令行重定向操作
linux·服务器·unix
neeef_se5 小时前
【Linux】WG-Easy:基于 Docker 和 Web 面板的异地组网
linux·前端·docker