
Sé que puedo usar la línea de comando &
para ejecutar un comando en segundo plano. Pero me pregunto si puedo hacerlo en un guión.
Tengo un script como este:
date_stamp=$(date +"%Y-%m-%d" --date='yesterday')
shopt -s extglob
cd /my/working/directory/
sh ./stay/get_it_ios.sh
sh ./stay/get_it_mix.sh
cd stay
zip ../stay_$date_stamp.zip ./*201*
rm ./stay/!(*py|*sh)
Y quiero correr sh ./stay/get_it_ios.sh
y sh ./stay/get_it_mix.sh
juntos para obtener datos más precisos. ¿Es posible hacer esto en el ámbito de un script de Shell?
Respuesta1
Sí, lo es. Si desea hacer dos cosas simultáneamente y esperar a que se completen ambas, puede hacer algo como:
sh ./stay/get_it_ios.sh & PIDIOS=$!
sh ./stay/get_it_mix.sh & PIDMIX=$!
wait $PIDIOS
wait $PIDMIX
Luego, su secuencia de comandos ejecutará ambas secuencias de comandos en paralelo y esperará a que ambas secuencias de comandos se completen antes de continuar.