だから私は二重のforループで新しいプロセスをフォークするbashスクリプトを持っています
for each date "d":
for each instance "i":
do-something "d" "i" &
done
done
ではdo-something
、カウンター変数をインクリメントしたいと思います。ただ、カウンタ変数なので、累積がうまくいかないようです。これを解決する最善の方法は何ですか?
だから私は二重のforループで新しいプロセスをフォークするbashスクリプトを持っています
for each date "d":
for each instance "i":
do-something "d" "i" &
done
done
ではdo-something
、カウンター変数をインクリメントしたいと思います。ただ、カウンタ変数なので、累積がうまくいかないようです。これを解決する最善の方法は何ですか?
このようにできます。値を取り戻すことができない場合に、子シェル/プロセスでカウンターをインクリメントする主な理由は何ですか? do-something を呼び出す前にインクリメントしてから、カウンターを維持します。
#!/bin/bash
c=0
do-something ()
{
echo 'I do some shenzi'
sleep 20;
}
while : ; do
while : ; do
echo "-- Counter == $((++c))" && sleep 5;
do-something "d" "i" &
done
done