bash: ./configure: /bin/sh^M: 解释器错误: 没有那个文件或目录
时间: 2023-08-07 10:05:30 浏览: 236
这个错误通常是由于 Windows 和 Unix 系统之间的换行符格式不兼容导致的。在 Windows 中,换行符是由回车符(CR)和换行符(LF)组成的(\r\n),而在 Unix 系统中,换行符只有换行符(LF)(\n)。当你从 Windows 系统复制脚本到 Unix 系统时,很可能会带有额外的回车符,导致解释器无法找到正确的文件或目录。
解决这个问题的一种方法是使用 dos2unix 命令将脚本文件的格式从 DOS/Windows 格式转换为 Unix 格式。你可以使用以下命令来安装 dos2unix:
对于 Ubuntu/Debian 系统:
```
sudo apt-get install dos2unix
```
对于 CentOS/Fedora 系统:
```
sudo yum install dos2unix
```
安装完成后,你可以使用以下命令将脚本文件转换为 Unix 格式:
```
dos2unix your_script.sh
```
然后你可以再次尝试运行脚本,应该不再出现这个错误了。
相关问题
qt-everywhere-src-5.12.9$ ./configure bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
这个错误通常是由于文件格式不兼容导致的。^M是回车符的表示,可能是因为文件在不同的操作系统上进行了传输或编辑。您可以尝试使用dos2unix命令来转换文件格式。
要安装dos2unix命令,请在终端中运行以下命令:
```
sudo apt-get install dos2unix
```
然后,使用dos2unix命令转换configure文件的格式:
```
dos2unix configure
```
转换完成后,再次运行./configure命令,应该就能正常工作了。
root@ubuntu:/home/h/qt/qt_source/qt-everywhere-src-5.11.1# ./configure bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
这是一个常见的错误信息,通常是由于文本文件的换行符格式不正确导致的。在 Windows 中,换行符是 CRLF(\r\n),而在 Linux 中是 LF(\n)。这个错误提示表明在执行 configure 脚本时,系统无法找到 /bin/sh 文件,并且 ^M 字符也提示了文件中存在不正确的换行符。
你可以在 Linux 终端中使用 dos2unix 命令将文件的换行符转换为正确的格式。在终端中运行以下命令:
```
dos2unix configure
```
然后再次运行 configure 脚本,应该就能够成功执行了。
阅读全文