Tenga en cuenta que enviará "sleep 2" solo al fondo.
tamerlaha
¿Por qué cuando hago esto con $iel comando en segundo plano, el control de trabajo dice que el nombre del proceso contiene en $ilugar de lo que sea el valor real de $iera?
Michael
@Michael El programa completo con salida ayudaría a comprender mejor
gammay
for I in <whatever>; do rm -fr $I & done... jobs-> rm -fr $Ivarias veces, en lugar de eliminar el directorio real para cada trabajo
Michael
Tengo respuesta para esto, es largo. Así que creo que debería publicarlo como una nueva pregunta (y agregar el enlace de la pregunta aquí), responderé y también obtendrá más respuestas.
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
fuente
$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 trabajoPuede poner el comando de fondo en ()
for i in $(seq 3); do echo $i ; (sleep 2 &) ; done
fuente
wait
finalizar los trabajos en segundo plano.