Syntaxfehler in der Nähe unerwartetes token `$'\r"
Ich versuche zu kompilieren, die NIST Biometric Image Software, und habe ich Probleme den ganzen Tag. Ich habe endlich die Quelle überprüft, und ich cygwin installiert ohne Probleme (ich habe es in der Vergangenheit), aber wenn ich ging zu kompilieren, bekomme ich diese Fehlermeldung:
$ sh setup.sh </cygdrive/c/NBIS> [--without-X11]
setup.sh: line 94: syntax error near unexpected token `$'in\r''
'etup.sh: line 94: ` case $1 in
Nun, ich bin sicher, jeder fortgeschrittene Programmierer würde den Kopf auf die setup.sh und suchen Sie nach Problemen, aber ich bin mir nicht wirklich viel von einem coder (ich bin nur zu kompilieren, weil es keine vorkompilierten Pakete) also ich weiß nicht, was zu tun ist. Ich wusste nicht, installieren Sie alle Bibliotheken, die mit cygwin, die ich gerade verlassen alles Standard. Ich versuche zu Folgen NBIS Handbuch, aber ich weiß nicht wirklich verstehen, dass es gut und so werde ich kämpfen schlecht. Maybye der Einnahme einen Blick auf Sie, bemerken Sie vielleicht etwas, das ich verpasst: http://www.nist.gov/customcf/get_pdf.cfm?pub_id=51097
InformationsquelleAutor der Frage David | 2011-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren
setup.sh
zu Unix-Zeilenenden auf Cygwin verwendenInformationsquelleAutor der Antwort Jens
laufen
reparieren Ihre Zeilenenden
InformationsquelleAutor der Antwort Frank Hayward
Einfache Weg zu konvertieren example.sh Datei in unix ist die Verwendung NotePad++ (Edit - >die EOL-Konvertierung>UNIX/OSX-Format)
Können Sie auch die Standard-EOL in notepad++ (Einstellungen>Einstellungen - >Neues Dokument - /Standard-Verzeichnis>wählen Sie Unix/OSX unter die Format-box)
InformationsquelleAutor der Antwort Eftekhari
Windows verwendet zwei Zeichen (CR und LF oder
\r\n
) markieren das Ende einer Zeile in einer text-Datei. Unix -, Linux-und (standardmäßig) Cygwin verwenden Sie ein einzelnes LF oder '\n' - Zeichen. Einige Cygwin-tools sind in der Lage, sich entweder im format, aber sh können in der Regel nicht.Sieht es aus wie
setup.sh
verwendet Windows-style line endings-oder zumindest die Linie 94 nicht.Finde ich nicht den download für die Quellen, aber wenn Sie verteilt sind, wie eine zip-Datei, müssen Sie möglicherweise extrahieren Sie mit Hilfe der Cygwin -
unzip
- Befehl mit der-a
option aus, damit alle Zeilenenden werden automatisch umgewandelt.Aber ich vermute, es ist mehr als das. Die verteilte
setup.sh
Datei sollte nicht schon im Windows-Stil Zeilenenden in den ersten Platz, und wenn es Tat, ich weiß nicht, warum das problem nicht zeigen, bis in Zeile 94.Wenn Sie können die URL für die source-download, ich werde werfen Sie einen Blick auf
setup.exe
.InformationsquelleAutor der Antwort Keith Thompson
Sagen Cygwin bash zu ignorieren CR-Zeichen:
(aus https://stackoverflow.com/a/14607651/1098603)
Beachten Sie, dass
igncr
ist spezifisch für Cygwin und nicht Linux, wie von @KeithThompson.InformationsquelleAutor der Antwort Matthieu