while read ループの質問

while read ループの質問

スクリプトで見つかった

{while read logfilename rest

do

LogFileSize=`wc -c $logfilename | awk '{print $1}'`

....

..........

done < /tmp/filelist
}

それが何なのかよく分かりませんrest。誰か説明してくれませんか?

答え1

ループ内while read:

行は単語分割と同様にフィールドに分割され、最初の単語は最初のNAMEに割り当てられ、2番目の単語は2番目のNAMEに割り当てられ、以下同様に続きます。最後のNAMEに割り当てられた残りの単語

つまり、入力内容が次のようなものである場合:

name1
name2 foo
name3

そして、あなたがやっていたのは:

while read logfilename

2 回目の反復では、logfilename変数は に設定されます'name2 foo'

したがって、発生する可能性のある不要な入力を収集するために「ゴミ」変数を作成するのが比較的一般的な方法です。この変数はスクリプトでは使用されない可能性が高いですが、logfilename不良データが取得されないようにするために存在します。

関連情報