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

相关推荐
kobe_OKOK_5 分钟前
ubuntu server 存儲空間占滿的原因
linux·运维·ubuntu
诸神缄默不语1 小时前
在Linux中使用Vim编辑文本
linux·vim
菜鸟是大神1 小时前
07-Claude Code 的常用命令和快捷键
linux·运维·服务器
hj2862511 小时前
Linux存储空间管理完整笔记
linux·运维·笔记
Championship.23.242 小时前
Linux 3.0 中断机制深度解析:从传统PIC到现代中断架构的转折点
linux·运维·架构·中断
小猫咪012 小时前
Linux OOM Killer 是什么?程序为什么突然被杀?
linux·运维·服务器
404是NotFound呀2 小时前
[FPGA] Ubuntu 22.04 安装 Vivado 2023.1 和 PetaLinux 踩坑记录
linux·ubuntu·fpga开发
lightqjx2 小时前
【Linux】从冯·诺依曼体系到操作系统的理解
linux·运维·服务器·冯·诺依曼体系
kobe_OKOK_3 小时前
分配free空間給ubuntu server
linux·运维·ubuntu
u0119608233 小时前
k8s-helm命令
linux·容器·kubernetes