Intento ejecutar un trabajo en segundo plano en un bucle for en bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Me sale un error:
bash: syntax error near unexpected token `;'
En zsh, la línea de comandos funciona.
Intento ejecutar un trabajo en segundo plano en un bucle for en bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Me sale un error:
bash: syntax error near unexpected token `;'
En zsh, la línea de comandos funciona.
Respuestas:
Eliminar el ; después de dormir
for i in $(seq 3); do echo $i ; sleep 2 & done
Por cierto, estos bucles se escriben mejor en líneas separadas con la sangría adecuada (si está escribiendo esto en un archivo de script de shell).
for i in $(seq 3)
do
echo $i
sleep 2 &
done
$i
el comando en segundo plano, el control de trabajo dice que el nombre del proceso contiene en $i
lugar de lo que sea el valor real de $i
era?
for I in <whatever>; do rm -fr $I & done
... jobs
-> rm -fr $I
varias veces, en lugar de eliminar el directorio real para cada trabajo