bash脚本可以同时运行命令然后等待它们完成吗?

时间:2012-01-24 20:28:48

标签: bash

我想写一个bash脚本,我同时运行两个命令,然后在它们完成时继续。

这是不起作用的东西,但我会把它放在这里来说明我想要做的事情:

#!/bin/bash
./job1 &
./job2
./dostuffwithresults

该脚本将同时运行job1和job2,但只会在继续之前等待job2完成。如果job1需要更长时间,那么结果可能还没有为最终命令做好准备。

2 个答案:

答案 0 :(得分:48)

j1 &
j2 &
j3 &
wait $(jobs -p)
dostuffwithresults

答案 1 :(得分:1)

这样的事情应该起作用

    #!/bin/bash
    while [ `pgrep job*` ]
    do 
    echo 'waiting'
    done

    ./dostuffwithresults