For 循环脚本中的语法错误

For 循环脚本中的语法错误

我是 Linux 新手,我也知道这是论坛问题中很常见的问题,但我尝试了多种选择,但无法解决这个问题。我正在尝试执行以下脚本:

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

但我收到以下错误消息:

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

我将不胜感激任何帮助

答案1

确实,作为评论者显示,循环内有一个语法错误,这使 bash 在尝试查找循环末尾时感到困惑。

您可能想:

  • 在 asreml 之后链接第二个命令,如果 asreml 成功完成则运行该命令 ($? == 0);例如:asreml -r2 Prueba_"$i".as > stdout_"$i".txt && echo asreml finished successfully

  • 将 asreml 命令置于后台:asreml -r2 Prueba_"$i".as > stdout_"$i".txt &

相关内容