2014-10-09 176 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