./configure:/bin/sh^M:错误的解释器[重复]
- 2024-10-09 09:10:00
- admin 原创
- 76
问题描述:
我一直在尝试在我的 fed 12 系统上安装 lpng142。对我来说这似乎是一个问题。我收到此错误
[root@localhost lpng142]# ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
[root@localhost lpng142]#
我该如何修复这个问题?/etc/fstab
文件:
#
# /etc/fstab
# Created by anaconda on Wed May 26 18:12:05 2010
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=ce67cf79-22c3-45d4-8374-bd0075617cc8 /boot ext4
defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
解决方案 1:
要修复,请使用 vi 或 vim 打开脚本并进入 vi 命令模式(键Esc
),然后输入以下内容:
:set fileformat=unix
最后保存
:x!
或者:wq!
解决方案 2:
看起来你有一个 dos 行结尾文件。线索是^M
。
您需要使用 Unix 行尾重新保存文件。
您可能有一个dos2unix
命令行实用程序也可以为您执行此操作。
解决方案 3:
或者如果你想使用脚本来执行此操作:
sed -i 's/
//' filename
解决方案 4:
您的配置文件包含CRLF 行尾(Windows 样式),而不是简单的 LF 行尾(Unix 样式)。您是否使用 FTP 模式 ASCII 从 Windows 传输它?
您可以使用
dos2unix configure
要修复此问题,请在 vi 中打开它并用它:%s/^M//g;
来替换它们(使用CTRL
+ V
,CTRL
+M
来获取 ^M)
解决方案 5:
您可以使用以下命令来修复
cat file_name.sh | tr -d '
' > file_name.sh.new
解决方案 6:
如果你找不到运行命令,
CentOS:
# yum install dos2unix*
# dos2unix filename.sh
dos2unix: converting file filename.sh to Unix format ...
Ubuntu/Debian:
# apt-get install dos2unix
解决方案 7:
这种情况通常发生在您在 Windows 中编辑了一个文件并尝试从某些基于 Unix 的机器执行该文件时。
Linux 论坛上提出的解决方案对我很有用(很多次):
perl -i -pe's/
$//;' <file name here>
希望这有帮助。
PS:您需要在您的unix/linux机器上安装perl。
解决方案 8:
感谢 pwc101 对这篇文章的评论,该命令在 Kali Linux 中有效。
sed -i s/{ctrl+v}{ctrl+m}// {filename}
确保替换括号中的位。{}
即{ctrl+m}
表示同时按下Ctrl
键和M
键。
解决方案 9:
如果你使用的是 OS X,你可以在 XCode 中打开文件并选择
视图 -> 文本 -> 行尾 -> Unix
菜单项,然后保存。这是针对 XCode 3.x 的。XCode 4 中可能也有类似情况。
解决方案 10:
继续 Richard 的评论。这是将文件转换为 UNIX 行尾的简单方法。如果您像我一样,在 Windows 记事本中创建它,然后尝试在 Linux 中运行它 - 坏主意。
下载并安装一份Notepad++(免费)。
在 Notepad++ 中打开脚本文件。
文件菜单->另存为->
保存类型:
Unix script file (*.sh;*.bsh)
将新的 .sh 文件复制到你的 Linux 系统
使用以下命令将其最大化:
chmod 755 the_script_filename
运行它:
./the_script_filename
如果有任何其他问题,请尝试此链接。
解决方案 11:
当您在 Windows 环境中编写脚本并希望在 Unix 环境中运行它时,您需要小心编码:
dos2unix $文件路径
解决方案 12:
在我的情况下,只需在脚本名称前添加 sh 即可使其起作用。
解决方案 13:
如果您正在使用 TextMate 或类似程序,请另存为,然后在编码中选择LF
而不是CRLF
。
解决方案 14:
使用linux中的dos2unix命令来转换保存的文件。例如:
dos2unix file_name
解决方案 15:
您也可以在 Kate 中执行此操作。
打开文件
打开“工具”菜单
展开行尾子菜单
选择UNIX
保存文件。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件