bash의 for 루프에서 백그라운드 작업을 실행하려고합니다.
for i in $(seq 3); do echo $i ; sleep 2 & ; done
오류가 발생합니다.
bash: syntax error near unexpected token `;'
zsh에서는 명령 줄이 작동합니다.
답변
제거; 수면 후
for i in $(seq 3); do echo $i ; sleep 2 & done
BTW, 이러한 루프는 적절한 들여 쓰기를 사용하여 별도의 줄에 작성하는 것이 좋습니다 (쉘 스크립트 파일에 작성하는 경우).
for i in $(seq 3)
do
echo $i
sleep 2 &
done
답변
백그라운드 명령을 ()에 넣을 수 있습니다.
for i in $(seq 3); do echo $i ; (sleep 2 &) ; done