烧饼博客

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

本文理论上适合所有 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$//' 脚本文件名

好了,就完事了 = =

Linux 下 Bash 脚本 bad interpreter 报错的解决方法
无责任编辑
Showfom
发布时间
Mar 17th, 2022
版权协议
人過留名,雁過留聲,翺翔的飛鳥總會尋到屬於自己的領地
記得,要讓簡樸而純粹的心靜靜地感受,你要相信,美好的世界總會自己尋路向你走來