Die Fehlermeldung weist darauf hin, dass das von Ihnen\r
aufgerufene Skript eingebettete Zeichen enthält , was wiederum darauf hindeutet, dass es Zeilenenden im Windows-Stil\r\n
anstelle der \n
erwarteten Zeilenenden hat bash
.
Als schnelle Lösung können Sie die \r
Zeichen entfernen . wie folgt:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Hinweis: Die $'...'
Zeichenfolge ist ein ANSI-C zitierte Zeichenfolge in unterstützt bash
, ksh
und zsh
. Es wird verwendet, um sicherzustellen, dass das \r
Zeichen zu einem tatsächlichen CR-Zeichen erweitert wird, bevor sed
das Skript angezeigt wird, da nicht alle sed
Implementierungen selbst \r
eine Escape-Sequenz unterstützen.
und dann laufen
./install.Unix.sh --clang-completer
Die größere Frage ist jedoch, warum Sie \r\n
Dateien im Stil erhalten haben - höchstwahrscheinlich sind auch andere Dateien betroffen.
Vielleicht laufen Sie Git auf Windows , wo eine typische Konfiguration ist im Unix-Stil zu konvertieren \n
-nur Zeilenumbrüche im Windows-Stil \r\n
Zeilenumbrüche auf Dateien auschecken und wieder die Umstellung auf \n
-nur Zeilenumbrüche auf begehen .
Während dieser Sinn für macht Entwicklung unter Windows, es in die Quere kommt von Installationsszenarien wie diese.
Um zu machen Git Besuche Dateien mit Unix-Dateiendungen auf Windows - zumindest vorübergehend - Verwendung:
git config --global core.autocrlf false
Führen Sie dann Ihre Installationsbefehle git clone
erneut aus.
Führen Sie aus, um das Verhalten von Git später wiederherzustellen git config --global core.autocrlf true
.
find . -type f -exec dos2unix {} \;