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

相关推荐
码思途远43 分钟前
NXP i.MX8系列平台开发讲解 - 3.18 Linux tty子系统介绍(一)
linux·nxp·i.mx8m
aliceDingYM43 分钟前
Linux python3.6安装mayavi报错
linux·python·ui
kinlon.liu1 小时前
Linux的前世今生
linux·运维·服务器
CloudJourney1 小时前
探索 Kali Linux:定义、架构、原理、应用场景及常见命令体系
linux·运维·架构
搬砖写代码1 小时前
MySQL数据库文件在Linux下存放位置
linux·数据库·mysql
运维之美@3 小时前
Linux dig命令常见用法
linux·运维·服务器
阳光九叶草LXGZXJ3 小时前
南大通用数据库-Gbase-8a-学习-44-DDLEVENT恢复
linux·数据库·sql·学习
Xua30553 小时前
初始redis:在Ubuntu上安装redis
linux·数据库·redis
YCyjs5 小时前
云计算【第一阶段(27)】DHCP原理与配置以及FTP的介绍
linux·运维·服务器·云计算
新手小新5 小时前
关于新装Centos7无法使用yum下载的解决办法
linux·运维·centos