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

相关推荐
C-DHEnry4 小时前
Linux概述:从内核到开源生态
linux
蟑螂恶霸4 小时前
解决ubuntu20中tracker占用过多cpu,引起的风扇狂转
linux·运维·ubuntu
rzsh12344 小时前
[ linux-系统 ] 进程地址空间
linux
1024小神5 小时前
tauri2项目使用sidcar嵌入可执行文件并使用命令行调用
linux·运维·服务器
AI风老师5 小时前
2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接
linux·运维·服务器·ssh
选与握6 小时前
ubuntu工控机固定设备usb串口号
linux·运维·ubuntu
Paraverse_徐志斌6 小时前
基于 Zookeeper 部署 Kafka 集群
ubuntu·zookeeper·kafka·消息队列
休息一下接着来7 小时前
C++ I/O多路复用
linux·开发语言·c++
舰长1157 小时前
ubuntu 安装mq
linux·运维·ubuntu
liuyunluoxiao7 小时前
进程间通信--信号量【Linux操作系统】
linux