while ループ内の別プロセス

while が好きなので次のようなループを よく書きます。

ls -1 | while read FILE
do
    echo $FILE
done

これはパイプを使っているので while 以降が別プロセスになってしまいます。 (下の赤文字の部分が別プロセスです)

ls -1 | while read FILE
do
    echo $FILE
done 

なので、 ループ内で変数の値を設定しても ループの外では参照することができません。

例えば次のような場合

AAA=0 
ls -1 | while read FILE
do
    echo $FILE
    AAA=1 
done
echo $AAA 

結果として 0 が出力されます。

Google サイト内検索

Amazonアソシエイト