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

相关推荐
小此方7 分钟前
Linux网络(二十二):深入解析IP协议:从地址寻址、头部结构到内核机制与TTL环路控制
linux·网络·tcp/ip
Ruiery9 分钟前
Linux 6.6内核内存管理深度解析(四):大页(HugeTLB / THP)— 为什么一个页表项要管 2MB
linux·运维·服务器
Lsetea12 分钟前
OpenSSL报certificate rejected:error 28与CA辅助信任属性排查
linux·https·ssl证书·openssl·证书链
沫璃染墨14 分钟前
从零入门计算机网络系列(五):UDP套接字编程实战——从核心API到客户端与服务器通信
linux·网络·c++·vscode·网络协议·udp
Margrop1 Margrop17 分钟前
别再挨个试清华、中科大、阿里源了!国家队下场的“CERNET 镜像聚合站”,凭什么让你的下载直接起飞?
linux·开源镜像·cernet
一条破秋裤24 分钟前
05_设备树自定义属性_写入读取验证
linux·网络·数据库
此生决int36 分钟前
Linux系统(07)——进程概念(下)
linux·运维·服务器
迷途之人不知返1 小时前
【基础IO】-3-系统级别的文件操作
linux
下辈子不要当码农1 小时前
Linux驱动(2)
linux·运维·单片机
m0_587383001 小时前
碰碰好评卡功能落地实战 从需求梳理到上线部署全流程实操指南
java·linux·服务器·前端·javascript·vue.js·人工智能