我理解下面的格式......
while read line
do
etc...
但是,我昨天看到了这一点,但未能弄清楚以下var
会是什么:
while read pkg var
do
etc...
由于
答案 0 :(得分:2)
read
内置函数将读取多个以空格分隔的空格(或实际上,由$IFS
中的任何值分隔)。
echo a b c | (read x y z; echo "$y")
#=> b
如果有多个字段而不是传递给read
的变量,则最后一个变量将获得该行的其余部分。
答案 1 :(得分:2)
while循环将逐个读取var,但将最后的部分分配给一个var。
例如,我有一个像:
这样的文件a b c d
运行命令时
$ while read x y
do
echo $x
echo $y
done < file
Resule:
a
b c d
你会得到“b c d”到$ y。
当然,如果你只分配一个var(行),那么$ line将得到整行。