Linux 下 Bash 脚本 bad interpreter 报错的解决方法
侧边栏壁纸
  • 累计撰写 611 篇文章
  • 累计收到 0 条评论

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

加速器之家
2024-08-12 / 0 评论 / 44 阅读 / 正在检测是否收录...

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

问题复现

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

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

解决方法一

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

image.png

然后换成 LF 并保存:

image.png

再重新上传即可。

解决方法二

直接在 Linux 终端下运行:

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

好了,就完事了 = =

0

评论

博主关闭了当前页面的评论