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

相关推荐
爱莉希雅&&&15 分钟前
MySQL MGR + MySQL Router 高可用集群完整笔记(含手动配置 + Shell 接管双路线)
linux·数据库·笔记·mysql·mysqlrouter·mysqlshell
楼田莉子27 分钟前
仿Muduo的高并发服务器:LoopThread模块及其ThreadPool模块
linux·服务器·c++·后端·学习
菜鸟的日志1 小时前
【嵌入系统】嵌入式学习笔记(一)
windows·笔记·嵌入式硬件·学习·ubuntu·操作系统
南境十里·墨染春水2 小时前
linux 学习进展 网络编程 ——TCP 协议 TIME_WAIT 状态详解
linux·网络·学习
Qt程序员2 小时前
【无标题】
linux·c++·消息队列·共享内存·c/c++·管道·信号量
相国2 小时前
在Windows里通过WSL安装Ubuntu 22.04
linux·windows·ubuntu·wsl
太理摆烂哥3 小时前
进程调度及文件系统的管理
linux
许泽宇的技术分享4 小时前
别再把 AI Agent 当“会聊天的脚本”:Hermes Agent 源码级拆解(架构、框架、实战、趋势,一文吃透)
java·linux·网络
HalvmånEver4 小时前
MySQL事务(一)
linux·数据库·学习·mysql
JiaWen技术圈4 小时前
增量静态再生(ISR)详解:Next.js 中的实现与应用
javascript·git·ubuntu