Me pregunto por qué hay un error al usar un comando asíncrono dentro de un bucle.
$ for i in {1..8}; do sleep 100 & ; done
bash: syntax error near unexpected token `;'
Si lo escribo como
$ for i in {1..8}; do
> sleep 100 &
> done
Esto funciona bien.
¿Cómo puedo escribirlo en una línea sin error?
echo foo ; ; echo bar
en bash 4.4 dicesyntax error near unexpected token `;'
.dash
da un error similar En este caso, es un comando vacío porque ninguna otra parte de la gramática lo consume. Creo que podrían estar hablando de redundantes;
al final de una línea comosleep 100;
(nueva línea).Agrupe sus
do
acciones entre llaves:¡Fácil de entender para ti y para Bash!
fuente