erro de sintaxe no script For loop

3

Sou novo no Linux e também sei que este é um problema bastante comum nas perguntas do fórum, mas tentei várias opções e não consigo resolver esse problema. Estou tentando executar o seguinte script:

!/bin/bash
for i in {1..10}
do 
    asreml -r2 Prueba_"$i".as > stdout_"$i".txt &&
done

Mas recebi a seguinte mensagem de erro:

bash: ./jobs1-2.sh: line 9: syntax error near unexpected token 'done'
bash: ./jobs1-2.sh: line 9: 'done'

Eu apreciarei qualquer ajuda

    
por Fersal 04.03.2017 / 13:03

1 resposta

4

De fato, como os comentadores têm mostrado , você tem um erro de sintaxe dentro do loop, o que confundiu bash quando tentou encontrar o fim do loop.

Você provavelmente quis:

  • encadear um segundo comando após asreml que seria executado se asreml fosse concluído com êxito ($? == 0); por exemplo: asreml -r2 Prueba_"$i".as > stdout_"$i".txt && echo asreml finished successfully ou

  • coloque o comando asreml em segundo plano: asreml -r2 Prueba_"$i".as > stdout_"$i".txt &

por 04.03.2017 / 15:01