A execução de um script Bash remoto no GitHub falha com vários métodos - Talvez devido ao Windows10

0

Eu tenho este script Bash remoto No GitHub que eu já executei com sucesso linha por linha, várias vezes (em diferentes versões).

Como é muito frustrante copiar e colar todas as linhas em cada teste, tentei executar o script Bash remoto pelo formulário bruto com curl , mas ele falha em várias tentativas:

bash <(curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh)

ou

curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | bash

Ambos falharam totalmente após cerca de 3 segundos com o erro:

/dev/fd/63: line 7: $'\r': command not found

Eu teorizei que eu poderia precisar traduzir todos os retornos de carro, então tentei:

curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | tr -d '\r' | bash

Isso trouxe a execução parcial do script. Por exemplo, enquanto apt-get install , export , git clone , rm -rf ${repo}/.git/ e algumas outras operações foram bem, o wget / unzip e o processamento de alguns arquivos com guias principais falharam ao serem processados corretamente .

Pensei que poderia ser que a GUI do GitHub alterasse os principais espaços em branco da guia para o espaço e vice-versa, em algumas seções do código, por isso tentei alterar todos os principais espaços em branco em tabulações:

curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | sed "s/^ */\t/" | tr -d '\r' | bash

O resultado foi aparentemente idêntico ao anterior.

Devido a essas 4 maneiras falharem, eu me pergunto o que mais está disponível. Infelizmente, ainda não encontrei outros exemplos no Google.

Talvez eu esteja tendo esses problemas porque geralmente trabalho no Windows 10 e retornos de carro são adicionados a cada arquivo, mas pode-se perguntar por que "traduzi-los" como nos exemplos de código resultou em execução ruim. / p>     

por user9303970 11.02.2018 / 22:58

1 resposta

0

Consegui resolvê-lo usando dos2unix .

Eu instalei:

sudo apt-get update
sudo apt-get install dos2unix

Em seguida, executei o curl para fazer o download do conteúdo para stdout . Eu canalizei o conteúdo em stdout através de dos2unix para alterá-lo, depois através de bash para executá-lo.

sudo curl -s https://raw.githubusercontent.com/benqzq/ulcwe/master/install.sh | dos2unix | bash
    
por 14.02.2018 / 15:26