명령줄을 사용하여 &
백그라운드에서 명령을 실행할 수 있다는 것을 알고 있습니다. 하지만 스크립트에서 이 작업을 수행할 수 있는지 궁금합니다.
다음과 같은 스크립트가 있습니다.
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
예. 동시에 두 가지 작업을 수행하고 두 작업이 완료될 때까지 기다리려면 다음을 수행할 수 있습니다.
sh ./stay/get_it_ios.sh & PIDIOS=$!
sh ./stay/get_it_mix.sh & PIDMIX=$!
wait $PIDIOS
wait $PIDMIX
그러면 스크립트는 두 스크립트를 병렬로 실행하고 계속하기 전에 두 스크립트가 모두 완료될 때까지 기다립니다.