0

我正在尝试安装一个工具,当我进行制作时,我在 config.status 文件中收到错误,如下所示:

 /bin/sh ./config.status
: command not foundne 6: 
: command not foundne 10: 
': not a valid identifier export: `SHELL
: command not foundne 16: 
./config.status: line 31: syntax error near unexpected token `newline'
'/config.status: line 31: `     ;;
make[1]: *** [Makefile] Error 2

我的前 35 行 config.status 如下:

#! /bin/sh
# Generated by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
ac_cs_recheck=false
ac_cs_silent=false

SHELL=${CONFIG_SHELL-bin/sh}
export SHELL
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi

有人可以帮我吗?提前致谢

4

1 回答 1

2

我认为您从 DOS (Windows) 机器下载了配置文件并具有 CRLF 行结尾。错误消息试图告诉您有关行号的信息,但 CR 混淆了输出。因此,例如:

: command not foundne 6:

真的是这样的:

./configure xxxx line 6: CR
: command not found

其中 CR 是回车符。

如果您在不使用文本模式 FTP(或其他将 CRLF 行结尾转换为换行符(仅限 LF)结尾的东西)的情况下复制了所有内容,那么重做传输可能是最简单的。如果您将其从文件中提取出来tar并且处于错误的模式,那么您可能必须翻译所有内容。有一些工具(仅举两例)可以安装并有助于 DOS 到 Unix 的转换dos2unixdtou

如果只是配置脚本,可以使用vim编辑文件,使用:

:set fileformat=unix

更改行尾,然后强制保存文件

于 2012-07-23T19:40:38.027 回答