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

相关推荐
程序员-Benothing2 小时前
Linux文件查看与编辑:cat、less、tail、vim快速入门
linux·运维·服务器
AlanBruce10 小时前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
小小的木头人10 小时前
Ubuntu Samba修改端口绕过445封禁挂载
运维·ubuntu
陈陈CHENCHEN14 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
GeW15 小时前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux
码农小韩16 小时前
Linux应用开发(八)——TCP/IP网络编程基础
linux·嵌入式软件开发·linux操作系统·嵌入式操作系统·linux网络编程·linux应用
迷途之人不知返16 小时前
【进程】-5-进程优先级
linux
fengyehongWorld17 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP17 小时前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
赵民勇17 小时前
systemd-socket-activate命令详解
linux·运维