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

相关推荐
j_xxx404_2 分钟前
Linux:缓冲区
linux·运维·c++·后端
亚空间仓鼠9 分钟前
Ansible之Playbook(六):实例部署实战
linux·网络·ansible
犽戾武16 分钟前
VR遥操作机械臂系统:核心算法与数学方法全解析
linux·人工智能
MIXLLRED36 分钟前
随笔——ROS Ubuntu版本变化详解
linux·ubuntu·机器人·ros
爱学习的小囧37 分钟前
ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
java·linux·运维·服务器·网络·虚拟化
Fanfanaas38 分钟前
Linux 进程篇 (四)
linux·运维·服务器·开发语言·c++·学习
发发就是发1 小时前
触摸屏驱动调试手记:从I2C鬼点到坐标漂移的实战录
linux·服务器·驱动开发·单片机·嵌入式硬件
Jacob程序员1 小时前
Linux 下启动达梦数据库 Manager 图形化客户端
linux·运维·服务器
IMPYLH1 小时前
Linux 的 pwd 命令
linux·运维·服务器·bash