所以我想让一个函数(可能需要一些时间才能完成)同时运行100次。使用for循环,它等待函数完成,然后再启动另一个。这是我的意思的样本:
sample()
{
echo "start"
echo $1
echo "end"
}
for (( i = 0; i <= 5; i++ )); do
sample $i
done
(是的,这是错误的代码,这只是一个例子) 这将打印1到5,从它上面开始并在它下面结束。它一直等到函数完成后再运行另一个函数。我怎样才能使它不等待循环中的前一个函数完成?
答案 0 :(得分:1)
使用&
在后台运行该功能,使用wait
命令等待它们全部完成。
for (( i = 0; i <= 5; i++ )); do
sample $i &
done
wait