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

相关推荐
BullSmall10 分钟前
linux 系统下模拟网络丢失和ping延迟,可以怎么来模拟
linux·网络·php
brahmsjiang10 分钟前
理解Android AOT编译与内存映射:从Zygote启动到页表权限隔离
android·linux·zygote
亚空间仓鼠11 分钟前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑11 分钟前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
程序员老邢23 分钟前
【技术底稿 10】16G Ubuntu 服务器手动部署 Ollama 0.20.4 全流程(避坑 HTTP2 错误)
服务器·ubuntu·ai·语言模型·devops
dddddppppp12324 分钟前
linux head.s 从第一条指令到start_kernel
linux·运维·服务器
BioRunYiXue25 分钟前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse
十五年专注C++开发25 分钟前
windows和linux使用system启动进程是一样的吗?
linux·c++·windows·system
此刻觐神28 分钟前
IMX6ULL开发板学习-04(Linux磁盘管理相关命令)
linux·运维·学习
qq_85730581938 分钟前
ubuntu 22 源码安装bochs
linux·运维·ubuntu