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

相关推荐
阿猿收手吧!1 小时前
【Docker】Docker入门了解
linux·运维·服务器·docker·云原生·容器·eureka
bohu838 小时前
亚博microros小车-原生ubuntu支持系列:12 URDF 模型
ubuntu·rviz·urdf·机器人模型·microros·亚博
zwhSunday9 小时前
线程概念、操作
linux·线程
_zwy9 小时前
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
linux·运维·c++·深度学习·神经网络
半夏云流10 小时前
CMake常用命令指南(CMakeList.txt)
linux·makefile·cmake
鲁子狄11 小时前
[笔记] 极狐GitLab实例 : 手动备份步骤总结
linux·运维·笔记·ubuntu·centos·gitlab
Xam_d_LM11 小时前
【Linux】列出所有连接的 WiFi 网络的密码
linux·服务器·网络
水饺编程11 小时前
简易CPU设计入门:控制总线的剩余信号(四)
linux·嵌入式硬件·fpga开发·硬件工程
bst@微胖子12 小时前
Linux查看服务器的内外网地址
linux