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

相关推荐
海棠蚀omo14 分钟前
Linux操作系统-父进程的等待:一个关于回收与终结的故事
linux·操作系统
乌萨奇也要立志学C++14 分钟前
【Linux】Ext系列文件系统 从磁盘结构到文件存储的原理剖析
android·linux·缓存·1024程序员节
软安科技19 分钟前
专有软件使用Linux内核的用户头文件违反GPL吗?| 开源合规场景
linux·开源软件·开源协议
A-刘晨阳22 分钟前
K8S 二进制集群搭建(一主两从)
linux·运维·云原生·容器·kubernetes
egoist202335 分钟前
[linux仓库]信号处理[进程信号·伍]
linux·信号处理·写时拷贝·软中断·硬件中断·缺页中断·时钟中断
HIT_Weston1 小时前
15、【Ubuntu】【VSCode】VSCode 断联问题分析:UID 补充
linux·vscode·ubuntu
碰大点1 小时前
Ubuntu 16.04交叉编译arm-linux-gnueabihf的QT5.6.2
linux·arm开发·qt·ubuntu·arm-linux
小-黯2 小时前
Linux硬盘挂载脚本
linux·运维·服务器
PeaceKeeper72 小时前
简易的arm-linux库文件移植
linux·运维·arm开发
运维帮手大橙子2 小时前
最近面试题总结
linux·服务器·网络