问题记录:/bin/bash^M: 解释器错误:没有那个文件或目录(bad interpreter: No such file or directiry)

问题描述

运行脚本时报错如下:

/bin/bash^M: 解释器错误:没有那个文件或目录(bad interpreter: No such file or directiry)

原因分析

脚本文件在windows下编辑过,windows下行结尾是\n\r,而Linux下则是\n

使用cat-A filename命令可以看到结尾\r字符被显示为^M

解决方案

在终端shell输入如下命令,将脚本文件中的行尾\r替换为空白

bash 复制代码
sed -i 's/\r$//' xxx.sh
相关推荐
tiana_1 天前
写了个零依赖的 Go 版本管理器,curl | bash 完事
开发语言·golang·bash
狂龙骄子1 天前
Linux文件批量操作技巧
sed·find·cp·mv·批量修改·批时查找
无足鸟ICT3 天前
【RHCA+】bash命令
linux·开发语言·bash
甄同学3 天前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
儒雅的名4 天前
GoF设计模式——策略模式
设计模式·bash·策略模式
zoipuus4 天前
上传repo仓库到自己的gitlab
linux·gitlab·shell·全志·tina
jieyucx5 天前
Shell实战:无限循环监控Nginx服务,异常自动重启+双份日志留存
linux·运维·nginx·自动化·shell
jieyucx6 天前
零基础通关:Shell 编程核心语法全景详解
linux·运维·编程·shell
hai3152475437 天前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
wok1577 天前
Git Bash 执行中文命令报错 127:MSYS 参数编码 bug 排查与修复
git·bug·bash