烧饼博客

Linux 下 Bash 脚本 bad interpreter 报错的解决方法

全文约 200 字预计阅读 1 分钟

本文理论上适合所有 Linux 操作系统。

#问题复现

有时候为了图方便,我们会直接在本机 git clone 一个 Github 的私有仓库,然后再使用 lrzszsftp 上传到服务器上,此时如果你本机是 Windows 系统,服务器是 Linux 系统,那么 git clone 下来的脚本文件编码就自动给你换成 Windows 的 CRLF,然后在 Linux 服务器上执行脚本时,会报错

bash
/bin/bash^M: bad interpreter: No such file or directory

#解决方法一

使用 VS Code 或者其他类似的软件,打开脚本手工转换编码为 UNIX (LF),一般情况下你可以在编辑器的右下角找到:

VS Code 右下角显示的 CRLF 编码标识

然后换成 LF 并保存:

VS Code 选择行尾序列为 LF 的菜单

再重新上传即可。

#解决方法二

直接在 Linux 终端下运行:

bash
sed -i -e 's/\r$//' 脚本文件名

好了,就完事了 = =

Linux 下 Bash 脚本 bad interpreter 报错的解决方法
无责任编辑
Showfom
发布时间
2022 年 3 月 17 日
最后编辑时间
2022 年 3 月 17 日
版权协议
短网址
广告想要一台和本站一样快的 VPS?亚洲三网顶级优化线路,快人一步。Riven Cloud →
分享