A mensagem de erro sugere que o script que você está chamando possui \r
caracteres incorporados , o que, por sua vez, sugere que ele possui terminações de linha no estilo do Windows, em\r\n
vez das \n
terminações bash
esperadas apenas de linha .
Como uma solução rápida , você pode remover os \r
caracteres. do seguinte modo:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Nota: A $'...'
cadeia é um ANSI-C string suportado em bash
, ksh
e zsh
. É usado para garantir que a \r
expansão para um caractere CR real antes de sed
ver o script, porque nem todas as sed
implementações oferecem suporte \r
como uma sequência de escape.
e então correr
./install.Unix.sh --clang-completer
No entanto, a grande questão é por que você acabou com \r\n
arquivos -style - provavelmente, outros arquivos também foram afetados.
Talvez você esteja executando o Git no Windows , onde uma configuração típica é converter \n
quebras de linha somente no estilo Unix em quebras de \r\n
linha no estilo Windows ao fazer check-out de arquivos e reconvertê- \n
los em quebras de linha somente na confirmação .
Embora isso faça sentido para o desenvolvimento no Windows, atrapalha cenários de instalação como esses.
Para fazer o Git retirar arquivos com terminações de arquivo no estilo Unix no Windows - pelo menos temporariamente - use:
git config --global core.autocrlf false
Em seguida, execute os comandos de instalação envolvendo git clone
novamente.
Para restaurar o comportamento do Git mais tarde, execute git config --global core.autocrlf true
.