问题记录:/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
相关推荐
IMPYLH2 天前
Linux 的 touch 命令
linux·运维·服务器·bash
有一个好名字3 天前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
IMPYLH3 天前
Linux 的 test 命令
linux·运维·服务器·chrome·bash
IMPYLH3 天前
Linux 的 tee 命令
linux·运维·服务器·bash
IMPYLH4 天前
Linux 的 tac 命令
linux·运维·服务器·bash
IMPYLH4 天前
Linux 的 tail 命令
linux·运维·服务器·bash
phenhorlin5 天前
我做了个工具,让切换 Homebrew 镜像像切 npm 源一样简单
后端·shell
月昤昽7 天前
ArchLinux更新遇到的GPG签名验证问题
linux·bash·archlinux
IMPYLH9 天前
Linux 的 sum 命令
linux·运维·服务器·chrome·python·bash