shell final inesperado do erro de arquivo

0

Eu tinha o script abaixo trabalhando em uma máquina Linux.

page="$(curl http://www.google.com/| grep "title")"
if [ -z "$page" ]; then
echo "Empty page"
else
echo "Valid page"
fi

Quando estou executando em outra máquina, estou recebendo o erro de sintaxe de erro: fim de arquivo inesperado . Por que estou recebendo esse erro?

    
por Ramesh 08.02.2014 / 03:31

1 resposta

2

Você provavelmente tem caracteres CR invisíveis no final de suas linhas (como quando o arquivo está no formato Microsoft, onde as linhas são terminadas pela seqüência de caracteres CRLF em vez de apenas LF).

Em seguida, o shell reclama que ele chega ao final do arquivo de script sem encontrar um then após o if (há apenas um then<CR> ).

Use dos2unix ou d2u ou emita um :set ff=unix em vim para corrigir seu arquivo de script.

    
por 08.02.2014 / 10:36