【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 小时前
Linux命令大全-find命令
linux·运维·服务器
H_z_q24011 小时前
RHCE的条件测试
linux·运维·服务器
新青年.1 小时前
【Ubuntu】Ubuntu下解决Chrome不能输入中文
linux·chrome·ubuntu
风华同学2 小时前
【环境搭建篇】ARM+Linux环境搭建
linux·运维·arm开发
温柔如酒2 小时前
【linux调试】使用 sysrq 快照内核状态堆栈
linux·运维·服务器
std860212 小时前
Linux 6.18发布:年度最后版本或成新长期支持版本
linux·运维·服务器
HalvmånEver2 小时前
Linux:进程替换(进程控制四)
linux·运维·服务器·学习·进程
一叶之秋14122 小时前
从零开始学Linux进程控制:fork、wait、exec 详解
linux·运维·服务器
thinkMoreAndDoMore3 小时前
linux系统服务管理框架
linux·运维·服务器
waves浪游3 小时前
进程控制(中)
linux·运维·服务器·开发语言·c++