如何在bash中并行运行命令并将其输出加载到变量中?

时间:2017-08-11 10:12:21

标签: bash parallel-processing

我有一些可以并行运行的昂贵(慢)操作

SERVERS=$(cmd1)
ROUTERS=$(cmd2)
NETWORKS=$(cmd3)
KEYPAIRS=$(cmd3)

我确实希望通过并行运行来加速这一点,但不要使用丑陋的黑客,比如将输出重定向到文件并在执行后加载文件。

有没有一种很好的方法可以在bash中并行化这个?

1 个答案:

答案 0 :(得分:1)

我认为GNU parset正是您所寻找的。在你的情况下,它看起来像这样:

parset "SERVERS ROUTERS NETWORKS KEYPAIRS" :::: cmd1 cmd2 cmd3 cmd4