运行命令出现错误 /bin/bash^M: bad interpreter: No such file or directory

在系统上运行一个 Linux 的命令的时候出现下面的错误信息:

-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory

这个是在 Windows 作为 WSL 的时候出的错误。

原因和解决

出现问题的原因在于脚本在 Windows 中使用的回车换行和 Linux 使用的回车换行不一样。

如果你的代码是在 Windows 下被下载的话,那么在 WSL 上运行的时候就有可能会出现上面的问题。

解决办法就是打开 NodePad++ 然后对这脚本文件选择使用 LF 结尾的方式就可以了。

目前很多脚本都需要在 Linux 环境下运行,这个也可能是一些公司要求使用 MacOS 的原因吧,因为 MacOS 自带了 Linux,并且没有回车换行的问题。

相关推荐
宋拾壹26 分钟前
同时添加多个类目
android·开发语言·javascript
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
小小龙学IT1 小时前
Go 语言后端开发:从并发模型到生产落地的工程实践
开发语言·后端·golang
ytttr8731 小时前
Qt 数字键盘实现
开发语言·qt
wearegogog1231 小时前
C# .NET 文件比较工具 WinForms
开发语言·c#·.net
再写一行代码就下班2 小时前
Cursor配置Java环境、创建Spring Boot项目的步骤
java·开发语言·spring boot
零陵上将军_xdr2 小时前
后端转全栈学习-Day5-JavaScript 基础-3
开发语言·javascript·学习
oqX0Cazj22 小时前
2026超火Go-Zero实战:从架构原理到高并发接口落地,彻底解决接口超时、雪崩问题
开发语言·架构·golang
学会去珍惜2 小时前
C语言简介
c语言·开发语言
思麟呀2 小时前
C++11 核心特性(三):强类型枚举、static_assert 与 std::tuple
开发语言·c++