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

相关推荐
RisunJan8 小时前
Linux命令-rlogin(远程登录)
linux·运维
大飞记Python11 小时前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf
拥抱太阳061612 小时前
HarmonyOS 应用开发《掌上英语》第2篇:ArkTS 模块化开发:Index.ets 统一导出模式深度解析
pytorch·ubuntu·harmonyos
顾喵13 小时前
PetaLinux 2017.4 实操指南:PREEMPT_RT实时补丁移植+Zynq PL中断UIO用户态配置(超完整避坑版)
linux
小樱花的樱花13 小时前
Linux 线程的创建
linux·c语言·开发语言
mounter62513 小时前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
YMWM_14 小时前
video.preset的值为null和ultrafast的区别
linux·video
代码AC不AC16 小时前
【Linux】线程池
linux·线程池
网络小白不怕黑17 小时前
12.DHCP服务搭建
linux·运维·服务器·网络
FREEDOM_X17 小时前
Linux 多线程编程——总结
java·linux·运维·ubuntu