0
私は常にN
関数を同時に呼び出すforループを作成したいと思います。彼らはお互いに依存していない、私は単にこのループを並行して実行したいと思う。ループバックグラウンドプロセスのbashを待ちます
私の考えは私の機能をバックグラウンドプロセスと呼び、N回目の呼び出しごとにすべてのバックグラウンドプロセスを待つことです。
しかし、何とかそれは待つことはありません... 私は何かが明らかに欠けていると確信しています。
#!/bin/bash
fun(){
for i in {1..5}
do
echo $i
sleep 1s
done
}
N=2
(
for k in {1..8}
do
((i=i%N))
# ((i++==0)) && (echo "waiting for all background processes" && wait) PROBLEM SOLVED:
((i++==0)) && echo "waiting for all background processes" && wait
echo "i = $i"
fun &
done
wait
)
EDIT:それが問題