Por que baixar o script bash do pastebin não funciona? [duplicado]

0

Estou tentando fazer upload e download de um script bash a partir do pastebin, o upload foi simples o suficiente com o recurso de copiar e colar, o download não foi tão fácil.

Existem dois scripts que estou tentando baixar, estes são os comandos:

wget http://pastebin.com/raw.php?i=M6iQ6RaY --output-document=ts3update
wget http://pastebin.com/raw/e11R2wkP --output-document=ts3restore

Quando tento executá-los, recebo este erro:

./ts3update: /bin/bash^M: bad interpreter: No such file or directory

Então, se eu remover a linha do intérprete, acabei de receber isso:

./ts3update: line 4: $'\r': command not found

E isso:

./ts3restore: line 3: $'\r': command not found
./ts3restore: line 7: syntax error near unexpected token '$'in\r''
'/ts3restore: line 7: '        case $yn in

Por que isso acontece e como posso corrigi-lo? Quando leio ou corto os arquivos, não encontro instâncias de ^ M ou '\ r' por que o bash vê algo assim quando nada mais acontece?

    
por Cestarian 02.03.2016 / 04:35

1 resposta

0

A resposta, como Michael Homer apontou, é que pastebin adicionou finais de linha do Windows CRLF aos meus arquivos. Para corrigi-lo eu corri o seguinte:

sed -i 's/\r$//' ts3update
sed -i 's/\r$//' ts3restore

E os scripts foram executados com sucesso. A resposta foi tirada daqui: O script de shell Bash / Korn editado no Windows lança o erro '... ^ M: não encontrado'

    
por 02.03.2016 / 04:57