シェル スクリプトで 2 つのコマンドを同時に実行することは可能ですか?

シェル スクリプトで 2 つのコマンドを同時に実行することは可能ですか?

コマンドラインで、&コマンドをバックグラウンドで実行できることは知っています。しかし、スクリプトでそれができるかどうか疑問に思っています。

次のようなスクリプトがあります:

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)

sh ./stay/get_it_ios.shより正確なデータを取得するために、と を一緒に実行したいと考えていますsh ./stay/get_it_mix.sh。シェル スクリプトのスコープ内でこれを行うことは可能ですか?

答え1

はい、そうです。2 つのことを同時に実行し、両方が完了するまで待機する場合は、次のようにします。

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

スクリプトは両方のスクリプトを並行して実行し、両方のスクリプトが完了するまで待機してから続行します。

関連情報