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

相关推荐
looking_for__15 分钟前
【Linux】进程概念
linux
Eric.Lee202117 分钟前
ubuntu系统在bashrc文件中对conda进行启用设置
linux·运维·python·ubuntu·conda
mooyuan天天18 分钟前
CobaltStrike横向渗透之Https Beacon实战2(跳板机Linux)
linux·内网渗透·横向移动·cobalt strike
nono牛18 分钟前
30天Shell脚本编程实战(14天逆袭)
前端·chrome·bash
model200523 分钟前
Alibaba linux 3安装mapserver
linux·运维·服务器
没头脑的男大29 分钟前
ubuntu的ROS安装
ubuntu·ros安装
水天需01032 分钟前
awk 命令全面详解
linux·运维·服务器
YFLICKERH33 分钟前
【Linux系统】Docker技术与应用
linux·docker
dodod201236 分钟前
在 Ubuntu 中将新硬盘挂载到 /home /work目录下
linux·运维·ubuntu
饕餮争锋41 分钟前
Linux 常用命令分类详解
linux·运维·服务器