我想写一个bash脚本,我同时运行两个命令,然后在它们完成时继续。
这是不起作用的东西,但我会把它放在这里来说明我想要做的事情:
#!/bin/bash
./job1 &
./job2
./dostuffwithresults
该脚本将同时运行job1和job2,但只会在继续之前等待job2完成。如果job1需要更长时间,那么结果可能还没有为最终命令做好准备。
答案 0 :(得分:48)
j1 &
j2 &
j3 &
wait $(jobs -p)
dostuffwithresults
答案 1 :(得分:1)
这样的事情应该起作用
#!/bin/bash
while [ `pgrep job*` ]
do
echo 'waiting'
done
./dostuffwithresults