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

相关推荐
奔跑的架构师1 小时前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm
(╹◡╹)2 小时前
11.RK3588本地大模型内存评估优化
java·linux·前端
码农客栈2 小时前
Linux 设备树
linux
AI视觉网奇2 小时前
cannot import name ‘model_urls‘ from ‘torchvision.models.resnet‘
linux·前端·javascript
CIAS2 小时前
kylin 安装epel
大数据·linux·kylin
一水2 小时前
Pi :内置四工具源码拆解——文件锁、变更快照与 bash 隔离
开发语言·chrome·ai·bash
梅菲塔亚2 小时前
Keepalived高可用全解析
linux·运维·服务器·开发语言·网络·php
北极糊的狐3 小时前
阿里云宝塔报错bash tools/update.sh: No such file or directory 意思是:tools 整个目录直接丢失
阿里云·云计算·bash
15Moonlight3 小时前
Linux系统(02):基础开发工具
linux·运维·服务器
lightqjx4 小时前
VS Code连接Linux远端服务器的方法
linux·服务器·vs code