2014-10-09 78 views
1

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

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

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

(是的,这是糟糕的代码,它只是一个例子) 这将打印1至5开始在它上面和下面的结束它。它等到功能完成后再运行另一个功能。我怎样才能让它不会等待循环中的前一个函数完成?

回答

1

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

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