Повідомлення про помилку свідчить про те, що скрипт, який ви викликаєте, має вбудовані \rсимволи , що, в свою чергу, свідчить про те, що в ньому є закінчення рядків у стилі Windows\r\n замість \nочікуваних закінчень рядків bash.
Для швидкого виправлення можна видалити \rсимволи. наступним чином:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Примітка: $'...'рядок є ANSI-C рядок в лапках підтримується bash, kshі zsh. Він використовується для того, щоб \rрозгорнути до фактичного символу CR, перш ніж sedпобачити сценарій, оскільки не всі sedреалізації самі підтримують\r послідовність екрану.
а потім біжи
./install.Unix.sh --clang-completer
Однак \r\nголовне питання полягає в тому, чому у вас вийшли файли у стилі - швидше за все, це стосується і інших файлів.
Можливо, ви використовуєте Git у Windows , де типовою конфігурацією є перетворення \nрозривів рядків у стилі Unix на розриви рядків у стилі Windows \r\nпри перевірці файлів та повторному перетворенні на \nрозриви рядків лише при фіксації .
Хоча це має сенс для розробки в Windows, це заважає таким сценаріям встановлення .
Щоб Git перевіряв файли із закінченнями файлів у стилі Unix у Windows - принаймні тимчасово - використовуйте:
git config --global core.autocrlf false
Потім знову запустіть команди встановлення за участю git clone.
Щоб відновити поведінку Git пізніше, запустіть git config --global core.autocrlf true.
find . -type f -exec dos2unix {} \;