Shell脚本 – “等待”不等待所有进程完成

在shell脚本中,我正在构build一些docker镜像(在后台),一旦完成,我正在运行它们(在后台),然后我必须等待所有这些完成。 代码如下所示:

for tag in "${tags[@]}" do docker build -f dockerFilePath -t $tag . & done wait for tag in "${tags[@]}" do docker run $tag arg1 arg2 | tee logoutput & done wait 

问题是不是第二个等待部分中的所有docker run命令都能够完成。 docker运行命令需要不同的时间才能完成,其中任何一个都是不完整的(总共4个)。

此外,我读了这个等待只适用于进程调用wait的直接subprocess,在这种情况下,我认为所有的docker build和docker run命令都是脚本进程的直接subprocess。 或者是错误的假设?