【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“

背景

在自己Ubuntu环境执行sh脚本,报错"xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录",查了下是Ubuntu系统默认的shell是dash:

修改配置过下,变成bash

解决方案

在终端执行:

bash 复制代码
sudo dpkg-reconfigure dash

然后弹框对话框选择No

然后就大功告成了。

知识补充

Dash是本是bash的符号链接,鉴于bash太复杂,所以有人把bash从NetBSD移植到Linux并更名为dash(Debian Almquist Shell),并建议将/bin/sh指向它,以获得更快的脚本执行速度。

相关推荐
Brilliantwxx6 分钟前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器
刚入门的大一新生1 小时前
Linux-命令行参数和环境变量
linux·运维·服务器
我星期八休息1 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
wuminyu2 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
实心儿儿2 小时前
Linux —— 数据链路层
linux·网络·智能路由器
智购科技无人售货机厂家3 小时前
2026自动售货机出货口防夹手设计:从红外检测到电机反转的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
新时代牛马4 小时前
异常向量与VBAR_ELx:Linux entry.S 中的vectors 布局
linux·运维·服务器
H_oRIZoN_4 小时前
Linux入门DAY32(文件 IO、进程、线程、IPC 通信)
linux·运维·服务器
0+1114 小时前
Linux --Ext系列文件系统
linux·运维·服务器
攻城有术5 小时前
专项攻克——研发排查Linux各类问题命令+实战案例
linux·运维·服务器