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

相关推荐
山川而川-R几秒前
在香橙派5pro上的ubuntu22.04系统烧录镜像
linux·运维·服务器
编程小Y2 分钟前
Bash 替换机制
开发语言·chrome·bash
SCBAiotAigc27 分钟前
在Ubuntu上使用docker compose安装普通(不支持GPU)的Ollama服务
人工智能·python·ubuntu·ollama
Ancelin安心30 分钟前
关于代理的一些网络知识复盘
linux·运维·网络·计算机网络·web安全·ubuntu·网络安全
chenyuhao202434 分钟前
Linux系统编程:多线程互斥以及死锁问题
linux·运维·服务器·c++·后端
Norach43 分钟前
Ubuntu升级opencv版本至4.9.0
linux·经验分享·opencv·yolo·ubuntu·dnn
默|笙44 分钟前
【Linux】进程(6)虚拟地址空间
linux·运维·服务器
linzihahaha1 小时前
vmware-ubuntu 虚拟机共享文件及复制拖动配置
linux·运维·ubuntu
韩金群1 小时前
centos离线安装配置clickhouse
linux·clickhouse·centos
HIT_Weston1 小时前
70、【Ubuntu】【Hugo】搭建私人博客:新建站点
linux·运维·ubuntu