0

だから私は二重のforループで新しいプロセスをフォークするbashスクリプトを持っています

for each date "d":
    for each instance "i":
        do-something "d" "i" &
    done
done

ではdo-something、カウンター変数をインクリメントしたいと思います。ただ、カウンタ変数なので、累積がうまくいかないようです。これを解決する最善の方法は何ですか?

4

2 に答える 2

0

このようにできます。値を取り戻すことができない場合に、子シェル/プロセスでカウンターをインクリメントする主な理由は何ですか? 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
于 2015-08-07T19:59:38.997 に答える