Erro de sintaxe próximo ao token inesperado 'done'

4

Estou tentando obter esse loop while (usando o nano) para baixar alguns sites dessa URL, mas continuo recebendo o erro "erro de sintaxe próximo ao token inesperado 'concluído'":

while read <FIRST-LAST> do
        echo FIRST-LAST
        curl -O https://www.uoguelph.ca/arts/history/people/FIRST-LAST
done < formatted_history.txt
    
por Daniela Bustamante 20.01.2017 / 01:28

1 resposta

4
  • O do deve aparecer em uma nova linha ou ele precisa ter um ponto-e-vírgula inserido na frente dele
  • <FIRST-LAST> deve, na verdade, ser o nome de uma variável shell e FIRST-LAST deve ser uma referência a essa variável. < e > não são caracteres legais para variáveis de shell, portanto, podemos deduzir que algo mais deve ser substituído aqui. person parece ser um nome de variável tão bom quanto qualquer neste caso em particular.

Acho que algo assim deveria funcionar muito melhor:

while read person ; do
        echo "${person}"
        curl -O "https://www.uoguelph.ca/arts/history/people/${person}"
done < formatted_history.txt

Isso pressupõe que o arquivo formatted_history.txt realmente exista no diretório atual e seja uma lista de pessoas do link página - algo como:

tara-abraham
donna-andrew
susan-armstrong-reid
... etc ...
    
por 20.01.2017 / 01:40