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 \nerwarteten Zeilenenden hat bash.
Als schnelle Lösung können Sie die \rZeichen entfernen . wie folgt:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Hinweis: Die $'...'Zeichenfolge ist ein ANSI-C zitierte Zeichenfolge in unterstützt bash, kshund zsh. Es wird verwendet, um sicherzustellen, dass das \rZeichen zu einem tatsächlichen CR-Zeichen erweitert wird, bevor seddas Skript angezeigt wird, da nicht alle sedImplementierungen selbst \reine Escape-Sequenz unterstützen.
und dann laufen
./install.Unix.sh --clang-completer
Die größere Frage ist jedoch, warum Sie \r\nDateien 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\nZeilenumbrü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 cloneerneut aus.
Führen Sie aus, um das Verhalten von Git später wiederherzustellen git config --global core.autocrlf true.
find . -type f -exec dos2unix {} \;