¿Es posible ejecutar dos comandos al mismo tiempo en un script de shell?

¿Es posible ejecutar dos comandos al mismo tiempo en un script de shell?

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.shy sh ./stay/get_it_mix.shjuntos 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.

información relacionada