저는 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 -r2 Prueba_"$i".as > stdout_"$i".txt && echo asreml finished successfully
asreml 이 성공적으로 완료되면 실행되는 asreml 뒤에 두 번째 명령을 연결합니다(예: $? == 0).asreml 명령을 백그라운드에 배치합니다.
asreml -r2 Prueba_"$i".as > stdout_"$i".txt &