while read循环问题

while read循环问题

在脚本中发现

{while read logfilename rest

do

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

....

..........

done < /tmp/filelist
}

我不确定rest是什么,有人能解释一下吗?

答案1

while read循环中:

与单词拆分一样,该行被拆分为多个字段,第一个单词分配给第一个 NAME,第二个单词分配给第二个 NAME,依此类推,分配给最后一个 NAME 的任何剩余单词

这意味着如果您的输入类似于:

name1
name2 foo
name3

而你只是在做:

while read logfilename

在第二次迭代中,您的logfilename变量将设置为'name2 foo'

因此,人们创建“垃圾”变量来收集您可能遇到的任何潜在不需要的输入是相对常见的做法。该变量可能不会在脚本中使用,但只是为了确保logfilename永远不会获得错误数据。

相关内容