问题记录:/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
相关推荐
狂龙骄子12 小时前
CentOS查看压缩包文件列表
shell·rar·7-zip·cygwin·7z·压缩包文件列表·查看压缩包
JobDocLS18 小时前
Bash调试方法
开发语言·bash
dys_Codemonkey2 天前
ROS 2 环境配置与 Shell 配置文件详解(zsh/bash)ROS 2 多工作空间规范配置
开发语言·chrome·bash
zhangfeng11332 天前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
佳木逢钺3 天前
ROS Noetic 中自定义编译和替换 cv_bridge 的完整指南
人工智能·bash·ros
IMPYLH6 天前
Linux 的 basename 命令
linux·运维·服务器·ssh·bash
IMPYLH6 天前
Linux 的 b2sum 命令
linux·运维·服务器·bash
波特率1152007 天前
bash命令进阶学习(Shell 元字符)
linux·bash·shell
阿常呓语7 天前
Linux命令 jq详解
linux·运维·shell·jq
buhuimaren_7 天前
Shell循环语句
shell