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 &