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格式

相关推荐
小政同学2 小时前
【NFS故障】共享的文件无法执行
linux·运维·服务器
AI木马人3 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
ch3nyuyu3 小时前
Ubuntu(乌班图)基础指令
linux·运维·网络
minglie13 小时前
gcc编译器汇总
linux
挽安学长3 小时前
保姆级教程,通过GACCode使用Claude Code Desktop!
运维·服务器
firstacui4 小时前
MGRE实验
运维·服务器·网络
白菜欣5 小时前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应5 小时前
Grafana如何给列表设置别名
运维·grafana·监控
senijusene5 小时前
基于 imx6ull平台按键驱动开发:input子系统+中断子系统+platform总线
linux·驱动开发
MXsoft6185 小时前
运维的尽头,是把“救火”变成“算命”
运维