【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“

作者 : admin 本文共265个字,预计阅读时间需要1分钟 发布时间: 2024-06-2 共2人阅读

背景

在自己Ubuntu环境执行sh脚本,报错”xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录”,查了下是Ubuntu系统默认的shell是dash:
【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“插图
修改配置过下,变成bash

解决方案

在终端执行:

sudo dpkg-reconfigure dash

【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“插图(1)

然后弹框对话框选择No
【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“插图(2)
然后就大功告成了。
【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“插图(3)

知识补充

Dash是本是bash的符号链接,鉴于bash太复杂,所以有人把bash从NetBSD移植到Linux并更名为dash(Debian Almquist Shell),并建议将/bin/sh指向它,以获得更快的脚本执行速度。

本站无任何商业行为
个人在线分享 » 【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“
E-->