并行运行两个shell脚本,然后在两个完成后运行另一个

问题描述 投票:3回答:2

我有3个shell脚本,我需要并行运行前两个脚本然后在两个(前两个)脚本完成后运行第三个脚本脚本。我该怎么做呢?我所知道的是在后台运行前两个脚本。

sh script1.sh &
sh script2.sh &
sh script3.sh &

我相信第三个脚本仍然会继续这个。

第三个脚本将如何“等待”它们?

linux shell
2个回答
3
投票

使用wait内置。它应该是:

sh script1.sh &
sh script2.sh &
wait
sh script3.sh

0
投票

GNU parallel是一个并行执行命令的工具:

parallel -j2 ::: './script1.sh' './script1.sh' && ./script3.sh

script1和script2都将并行执行,两者完成后将执行script3。

Parallel's tutorial显示更高级的行为定制,以备需要时使用

© www.soinside.com 2019 - 2024. All rights reserved.