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

相关推荐
s_daqing5 分钟前
ubuntu(arm)安装MongoDB
arm开发·mongodb·ubuntu
Byte不洛10 分钟前
从除 0 到 SIGPIPE:Linux 信号的真正来源
linux
小码吃趴菜19 分钟前
守护进程及其编程流程
linux·运维·服务器
久违81631 分钟前
PHP 安全与部署知识总结
linux·ubuntu·php
开开心心就好34 分钟前
内存清理工具点击清理,自动间隔自启
linux·运维·服务器·安全·硬件架构·材料工程·1024程序员节
数据知道36 分钟前
万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
linux·windows·postgresql
浅安的邂逅41 分钟前
ubuntu 18.04及以上版本 ping命令报错:Name or service not known解决方法
linux·运维·ubuntu·ip设置
重生之绝世牛码44 分钟前
Linux软件安装 —— JDK安装
java·大数据·linux·运维·jdk
晚风吹长发1 小时前
初步理解Linux中的进程间通信以及管道通信
linux·运维·服务器·c++·进程·通信
可爱又迷人的反派角色“yang”1 小时前
K8s(六)
linux·运维·云原生·容器·kubernetes