Найдено в сценарии
{while read logfilename rest
do
LogFileSize=`wc -c $logfilename | awk '{print $1}'`
....
..........
done < /tmp/filelist
}
Я не совсем понимаю rest
, что это такое. Может кто-нибудь объяснить?
решение1
В while read
цикле:
Строка разбивается на поля, как при разбиении по словам, и первое слово присваивается первому ИМЕНИ, второе слово - второму ИМЕНИ и т. д.любые оставшиеся слова, присвоенные ФАМИЛИИ.
Это означает, что если вы ввели что-то вроде:
name1
name2 foo
name3
И вы делали только:
while read logfilename
На второй итерации ваша logfilename
переменная будет установлена в значение 'name2 foo'
.
Поэтому довольно распространенной практикой для людей является создание переменной "мусор" для сбора любых потенциально нежелательных входных данных, с которыми вы можете столкнуться. Эта переменная, скорее всего, не будет использоваться в скрипте, но она просто нужна для того, чтобы logfilename
никогда не получать плохие данные.