【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指向它,以获得更快的脚本执行速度。

相关推荐
TangDuoduo000520 小时前
【Linux I2C设备驱动】
linux·驱动开发
A.A呐20 小时前
【Linux第十一章】进程等待和替换
linux
benjiangliu21 小时前
LINUX系统-12-进程控制(三)-自定义shell
linux·运维·服务器
learndiary21 小时前
Deepin国产系统搭建B站桌面直播环境要点
linux·直播·deepin·b站
好好学习天天向上~~21 小时前
14_Linux学习总结_进程等待
linux·学习
Pretend° Ω21 小时前
抢占优先级 vs 响应优先级:任务调度的双刃剑
linux·c语言·抢占优先级·响应优先级
17(无规则自律)21 小时前
你对 argc 和 argv 的理解有多深?
linux·c语言·嵌入式硬件·考研
The️21 小时前
Linux驱动开发之Open_Close函数
linux·运维·驱动开发·mcu·ubuntu
wefg121 小时前
【Linux】信号的产生、保存、处理
linux·运维·服务器
peng_YuJun1 天前
openEuler 虚拟机从零到一:完整部署指南
linux·运维·服务器·vmware·openeuler