问题记录:/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
相关推荐
VincentHe2 天前
当 ServerCat 遇上 Shell 环境变量:一次服务器监控性能优化记录与探索
服务器·shell·监控
顾安r2 天前
11.5 脚本 本地网站收藏(解封归来)
linux·服务器·c语言·python·bash
虚伪的空想家4 天前
ip网段扫描机器shell脚本
android·linux·网络协议·tcp/ip·shell·脚本·network
谅望者5 天前
Linux文件查看命令完全指南:cat、less、head、tail、grep使用详解
linux·excel·less·shell·文件操作·命令行·系统运维
鸠摩智首席音效师6 天前
如何在 Bash 命令中执行命令 (嵌套命令) ?
linux·bash
Bella的成长园地6 天前
Linux 中sudo bash -i 和 su root 有什么区别?
linux·运维·bash
hello_2507 天前
Shell脚本高效编写技巧
运维·shell
leaf9z8 天前
阿里云ECS在线扩容磁盘
阿里云·云计算·shell
顾安r9 天前
10.25 脚本 整理2024全年 GITHUB每周热门项目
linux·c语言·python·github·bash
百步送剑9 天前
在 Ubuntu 环境下 sh 脚本运行因为 Bash 改用 Dash 语法报错问题
ubuntu·bash·dash