É possível executar dois comandos ao mesmo tempo em um script de shell?

É possível executar dois comandos ao mesmo tempo em um script de shell?

Eu sei que posso usar a linha de comando &para executar um comando em segundo plano. Mas estou me perguntando se posso fazer isso em um script.

Eu tenho um script assim:

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)

E quero correr sh ./stay/get_it_ios.she sh ./stay/get_it_mix.shjuntos obter dados mais precisos. É possível fazer isso no escopo de um script de shell?

Responder1

É sim. Se quiser fazer duas coisas simultaneamente e esperar que ambas sejam concluídas, você pode fazer algo como:

sh ./stay/get_it_ios.sh &  PIDIOS=$!
sh ./stay/get_it_mix.sh &  PIDMIX=$!
wait $PIDIOS
wait $PIDMIX

Seu script executará ambos os scripts em paralelo e aguardará a conclusão de ambos antes de continuar.

informação relacionada