In einem Skript gefunden
{while read logfilename rest
do
LogFileSize=`wc -c $logfilename | awk '{print $1}'`
....
..........
done < /tmp/filelist
}
Ich bin nicht sicher rest
, was es ist. Kann es jemand erklären?
Antwort1
In einer while read
Schleife:
Die Zeile wird wie bei der Wortaufteilung in Felder aufgeteilt, wobei das erste Wort dem ersten NAMEN, das zweite Wort dem zweiten NAMEN usw. zugeordnet wird, wobeialle übrig gebliebenen Wörter, die dem letzten NAMEN zugeordnet sind.
Das bedeutet, wenn Ihre Eingabe etwa so lautet:
name1
name2 foo
name3
Und Sie haben nur Folgendes getan:
while read logfilename
Bei der zweiten Iteration logfilename
würde Ihre Variable auf gesetzt 'name2 foo'
.
Daher ist es relativ üblich, eine „Papierkorb“-Variable zu erstellen, um alle möglicherweise unerwünschten Eingaben zu sammeln. Diese Variable wird im Skript wahrscheinlich nicht verwendet, dient aber nur dazu, sicherzustellen, dass logfilename
keine fehlerhaften Daten eingehen.