爽解报错:/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
相关推荐
为思念酝酿的痛12 分钟前
POSIX信号量
linux·运维·服务器·后端
人还是要有梦想的1 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
bush42 小时前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽2 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
运维栈记4 小时前
API Error: 400 Request body format invalid
linux·ai
小白兔奶糖ovo5 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
s_w.h5 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
顺风尿一寸6 小时前
深入Linux内核:mkdir系统调用的完整实现解析
linux
用户2367829801686 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux
无足鸟ICT6 小时前
【RHCA+】boxes命令(艺术框)
linux