当我尝试为 qb64 安装程序运行 sh 脚本时,此错误发生在 16.04 上。
james@ubuntu:~/qb64$ ./setup_lnx.sh
bash: ./setup_lnx.sh: /bin/bash^M: bad interpreter: No such file or directory
james@ubuntu:~/qb64$
答案1
您的文件有DOS/Windows 样式行尾 (CR LF),但在类 Unix 系统上只有如果控制字符用作换行符。
额外的碳排放控制字符显示的编码与^M
输出中的编码相同。运行 时也可以看到它cat -A setup_lnx.sh
。
要将行尾从 DOS/Windows 样式转换为 Unix 样式,有一个名为 的工具dos2unix
。您可以使用以下命令安装它:
sudo apt-get install dos2unix
然后,您可以使用以下方式简单地转换文件的行尾
dos2unix FILENAME
unix2dos FILENAME
对于您来说,只需运行下面这个命令,脚本文件就会被就地转换:
dos2unix setup_lnx.sh
此后,Bash 应该能够正确解释该文件。