Bash运行功能同时多次

时间:2014-10-09 16:15:56

标签: bash loops

所以我想让一个函数(可能需要一些时间才能完成)同时运行100次。使用for循环,它等待函数完成,然后再启动另一个。这是我的意思的样本:

sample() 
{ 
    echo "start"
    echo $1
    echo "end"
}

for (( i = 0; i <= 5; i++ )); do                                                     
    sample $i                                                                         
done   

(是的,这是错误的代码,这只是一个例子) 这将打印1到5,从它上面开始并在它下面结束。它一直等到函数完成后再运行另一个函数。我怎样才能使它不等待循环中的前一个函数完成?

1 个答案:

答案 0 :(得分:1)

使用&在后​​台运行该功能,使用wait命令等待它们全部完成。

for (( i = 0; i <= 5; i++ )); do                                                     
    sample $i &                                                                         
done   
wait