関根です。 Kenichi Nagai <nagai _at_ cp.star-micronics.co.jp> wrote > 次のブロックでは、catコマンド結果をwhileループに渡しています。 > ループ中のcnt表示は、問題なくインクリメントされているのですが、 > ループを抜けた後のcnt表示が、ループに入る前の値"0"に戻ってしまって > います。こちらのループを抜けた後にcnt値として"22"を保持するためには > どの様にすればよいのでしょうか? (snip) > #block2 > cnt=0 > cat $0 | while read LINE > do > echo "$cnt: $LINE" > cnt=`expr $cnt + 1` > done > echo "cnt(after LOOP) = $cnt" cat $0 | while read LINE を exec < $0 while read LINE に変えるとうまくいきます。 理由を私が説明すると間違えちゃうかもしれないので、 正しい説明は識者にまかせます。
References:
- Prev by Subject: [linux-users:96156] [bash]whileループ内変数値の扱いについて教えてください。
- Next by Subject: [linux-users:96158] Re: [bash]whileループ内変数値の扱いについて教えてください。
- Previous by thread: [linux-users:96156] [bash]whileループ内変数値の扱いについて教えてください。
- Next by thread: [linux-users:96158] Re: [bash]whileループ内変数値の扱いについて教えてください。
- Indexes:[Main][Thread]