问题记录:/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
相关推荐
IMPYLH12 小时前
Linux 的 od 命令
linux·运维·服务器·bash
IMPYLH14 小时前
Linux 的 nice 命令
linux·运维·服务器·bash
IMPYLH21 小时前
Linux 的 paste 命令
linux·运维·服务器·bash
IMPYLH2 天前
Linux 的 nproc 命令
linux·运维·服务器·bash
IMPYLH2 天前
Linux 的 numfmt 命令
linux·运维·服务器·bash
pluvium272 天前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
IMPYLH3 天前
Linux 的 nl 命令
linux·运维·服务器·bash
坏小虎4 天前
~/.zshrc 和 ~/.bash_profile 详细介绍与区别
开发语言·bash
想唱rap4 天前
计算机网络基础
linux·计算机网络·mysql·ubuntu·bash
要记得喝水4 天前
适用于 Git Bash 的脚本,批量提交和推送多个仓库的修改
git·elasticsearch·bash