Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory

文章目录

参考博客: Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory
首先在此对这位博主表示感谢。

运行bash脚本会出现两个文件, 1037.err1037.out

1037.err的文件内容如下:

  • /data/home/user12/.lsbatch/1694577957.1037: /data/home/user12/.lsbatch/1694577957.1037.shell: /bin/sh^M: bad interpreter: No such file or directory

|-----|
| 第一步 |

复制代码
使用下述命令看看该文件的格式,dos格式的文件行尾为^M$,unix格式的文件行尾为$

执行命令行:cat -A xxx.sh

复制代码
二、详解
1、cat -A 表示展示所有,等同于-vET;
2、cat -b:输出带有行号的字符到基本输出设备(一般是屏幕);
3、cat -e:等同于-VE
4、cat -E:在每行的最后展示$符号;就是无论你输入了什么,屏幕会直接显示你刚才输入的内容,并且在每行最后用$符号结尾;
5、cat -n:在所有输出行前添加行号;
6、cat -s:抑制空行输入,就是如果你有多行连续的空行,他会压缩成一行输出;

|-----|
| 第二步 |

使用下述命令直接替换结尾符为unix格式 命令行:sed -i "s/\r//" xxx.sh ![在这里插入图片描述](https://img-blog.csdnimg.cn/94912813a4cb41a79b926a80bdd88fa5.png)

|-----|
| 第三步 |

再次使用 cat -A xxx.sh命令可以看到文件的格式为unix格式

相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.41 分钟前
HAProxy状态页:运维监控实战指南
运维
陈聪.1 小时前
HRCE实验
运维
阿拉伯柠檬1 小时前
网络层协议IP(三)
linux·网络·网络协议·tcp/ip·面试
Miracle&1 小时前
在Linux VirtualBox中安装系统失败
linux·运维·服务器
ShoreKiten2 小时前
ctfshow-web316
运维·服务器·前端
网硕互联的小客服2 小时前
WIN系统和liunx系统如何构建自动化安全运维(DevSecOps)流程?
运维·自动化
hweiyu002 小时前
Linux 命令:ar
linux·运维
切糕师学AI2 小时前
DevOps是什么?
运维·devops
江畔何人初2 小时前
理解容器挂载点
linux·运维·云原生
YMWM_2 小时前
cursor连接Ubuntu远程
linux·运维·ubuntu