爽解报错:/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
相关推荐
小小的木头人1 小时前
Ubuntu 使用 udev + systemd + UUID 实现 USB 硬盘自动挂载
linux·运维·ubuntu
kaoa0002 小时前
Linux入门攻坚——84、网络虚拟化技术-1
linux·运维·服务器
RisunJan2 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
2601_965798473 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学3 小时前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式3 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
苍狗T4 小时前
LVS相关知识总结
linux·运维·服务器·lvs
lightqjx5 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用
我星期八休息5 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
RisunJan5 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器