El mensaje de error sugiere que el script que está invocando tiene \r
caracteres incrustados , lo que a su vez sugiere que tiene finales de línea al estilo \r\n
de Windows en lugar de los \n
finales de línea -only bash
esperados.
Como solución rápida , puede eliminar los \r
caracteres. como sigue:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Nota: La $'...'
cadena es un ANSI-C citada cadena apoyada en bash
, ksh
, y zsh
. Se utiliza para garantizar que se \r
expanda a un carácter CR real antes de sed
ver el script, porque no todas las sed
implementaciones en sí mismas admiten \r
como secuencia de escape.
y luego corre
./install.Unix.sh --clang-completer
Sin embargo, la pregunta más importante es por qué ha terminado con \r\n
archivos de estilo; lo más probable es que otros archivos también se vean afectados.
Tal vez usted está funcionando con Git en Windows , donde una configuración típica es la de convertir al estilo Unix \n
saltos de línea -a sólo a estilo de Windows \r\n
saltos de línea en la comprobación de archivos fuera y volver a convertir a \n
los saltos de línea -sólo en la comisión .
Si bien esto tiene sentido para el desarrollo en Windows, se interpone en escenarios de instalación como estos.
Para hacer que Git extraiga archivos con terminaciones de archivo estilo Unix en Windows , al menos temporalmente, use:
git config --global core.autocrlf false
Luego ejecute sus comandos de instalación involucrando git clone
nuevamente.
Para restaurar el comportamiento de Git más tarde, ejecute git config --global core.autocrlf true
.
find . -type f -exec dos2unix {} \;