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

相关推荐
枫桥骤雨31 分钟前
OpenClaw外部访问UI页面
ubuntu·openclaw
色空大师35 分钟前
【网站开发-java】
java·linux·服务器·开发语言·网站·搭建网站
释怀不想释怀44 分钟前
硬盘基础了解知识
linux·运维·服务器
福楠1 小时前
现代C++ | 右值引用 + std::move + noexcept
linux·c语言·开发语言·c++
逆向编程1 小时前
Ubuntu 入门教程,日常常用命令
linux·运维·ubuntu
逆向编程1 小时前
Ubuntu 入门教程:从安装到日常使用,新手一步到位
linux·运维·ubuntu
叠叠乐1 小时前
ubuntu linux DNS 系统流程逻辑
linux·运维·ubuntu
西西弗Sisyphus1 小时前
Linux Shell 脚本中的 Shebang(#! /bin/bash)是什么
linux·bash·shebang
qzhqbb1 小时前
Linux 防火墙(iptable、nftables、ufw)
linux·运维·服务器
Mapleay1 小时前
alsa-lib 的插件
linux