运行未知数量的进程(for循环)并等待它们以bash结束

时间:2017-10-22 13:33:10

标签: bash for-loop

我有一个执行以下操作的bash脚本:

for server in $servers; do  # servers from input
     ssh $server <some long running command...>
done

# Rest of the code...

我想并行化ssh调用,但只在所有服务器完成后继续执行其余代码。我在这里注意到类似的问题,但都有固定数量的进程,或者没有等待完成。我也接受像don't do it in bash!这样的答案。感谢。

1 个答案:

答案 0 :(得分:3)

替换

ssh $server <some long running command...>

通过

ssh $server <some long running command...> &

并替换

done

通过

done
wait