EOF inesperado em um script bash, por quê?

3

Normalmente não consigo executar scripts sh. É confuso. Eu configurei as permissões para 777 e + x, então ele deve funcionar com o comando 'sh', certo ...

Mas está funcionando muito estranho. Por exemplo, este script funciona ok:

echo "hello"

imprime "olá" sem erros. Mas esse roteiro:

#!/bin/bash
for i in 'seq 1 5'; do 
    echo $i
done

... gera este erro:

Syntax error: end of file unexpected (expecting "done")

Há algo errado com esse loop?

    
por user568021 03.09.2013 / 10:29

1 resposta

7

O problema é que você provavelmente fez um Ctrl+C Ctrl+V de um site e o caractere de final de linha era algo estranho, não era um personagem imprimível. (Você pode torná-lo visível, despejando para hexadecimal o arquivo.)

Por favor, abra seu arquivo em um editor e redigite tudo manualmente, ou pelo menos remova os últimos caracteres eol, salve seu trabalho e tente novamente.

    
por Frantique 03.09.2013 / 10:42