运行命令出现错误 /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,并且没有回车换行的问题。

相关推荐
hsjiasb3 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
丰锋ff3 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘4 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路4 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding5 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743875 小时前
从零调用 Claude 教程
开发语言·python·node.js
起床学FPGA5 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
x_x-F6 小时前
网络数据从网卡到用户态:一场基于内存所有权转移的接力赛
开发语言·网络·php
名字还没想好☜6 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
码匠许师傅6 小时前
【C++ 面试真题】聊聊 C++ 的多继承与虚继承
开发语言·c++·面试