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

相关推荐
hhl_483841046 分钟前
上海域格4G模块信号说明
linux·功能测试·物联网·信号处理·tcp
IMPYLH8 分钟前
Linux 的 sum 命令
linux·运维·服务器·chrome·python·bash
kaico201820 分钟前
Ubuntu系统运维
linux·运维·ubuntu
枳实-叶32 分钟前
【Linux驱动开发】第一天:用户态与内核态通俗讲解+最简字符设备驱动实战
linux·驱动开发·学习
计算机安禾44 分钟前
【Linux从入门到精通】第23篇:条件判断——让脚本拥有“大脑”
linux·运维·服务器
feng_you_ying_li1 小时前
linu之进程的程序替换与shell基本实现的基本版本
linux
念恒123061 小时前
进程控制---进程程序替换
linux·c语言
不法1 小时前
vue 地图路线渲染
前端·vue.js·ubuntu
小夏子_riotous1 小时前
Docker学习路径——10、Docker Compose 一站式编排:从入门到生产级部署
linux·运维·服务器·docker·容器·centos·云计算
zhangrelay1 小时前
三分钟云课实践速通--概率统计--python版
linux·开发语言·笔记·python·学习·ubuntu