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永遠不會獲得錯誤資料。

相關內容