![while read循环问题](https://linux22.com/image/154607/while%20read%E5%BE%AA%E7%8E%AF%E9%97%AE%E9%A2%98.png)
在脚本中发现
{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
永远不会获得错误数据。