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

相关推荐
Mr_sun.几秒前
Mac中通过PD安装Rockly、Centos版本的linux并设置静态ip与安装Docker
linux·macos·centos
勿芮介2 分钟前
【研发工具】OpenClaw基础环境安装全教程-Node\NVM\PNPM\Bash
开发语言·node.js·bash·ai编程
爱装代码的小瓶子3 分钟前
【c++与Linux进阶】线程篇 -互斥锁
linux·c++·算法
ren0491812 分钟前
Linux基础
linux·运维·服务器
Wyawsl15 分钟前
Linux系统安全
linux·运维·系统安全
青灯文案129 分钟前
Linux 常用目录及其用途
linux·运维·服务器
芒果披萨29 分钟前
Linux磁盘挂载
linux·运维·服务器
icy、泡芙33 分钟前
全志 GPIO BUG
linux·bug
SMF191938 分钟前
【Docker】Linux系统上卸载旧Docker、卸载Podman并重新安装Docker及配置国内镜像源
linux·docker·podman
qq_2975746740 分钟前
K8s系列第二篇:CentOS7/Ubuntu 一键搭建 K8s 集群(kubeadm 完整版)
ubuntu·容器·kubernetes