Próbuję uruchomić zadanie w tle w pętli for w bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Pojawia się błąd:
bash: syntax error near unexpected token `;'
W zsh działa linia poleceń.
Próbuję uruchomić zadanie w tle w pętli for w bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Pojawia się błąd:
bash: syntax error near unexpected token `;'
W zsh działa linia poleceń.
Odpowiedzi:
Usunąć ; po śnie
for i in $(seq 3); do echo $i ; sleep 2 & done
Przy okazji, takie pętle lepiej pisać w osobnych wierszach z odpowiednim wcięciem (jeśli piszesz to w pliku skryptu powłoki).
for i in $(seq 3)
do
echo $i
sleep 2 &
done
$i
w tle, a kontrola zadań mówi, że nazwa procesu zawiera $i
zamiast tego, jaka była rzeczywista wartość $i
?
for I in <whatever>; do rm -fr $I & done
... jobs
-> rm -fr $I
kilka razy, zamiast usuwać rzeczywisty katalog dla każdego zadania