发生的情况是,
read当 输入未以换行符终止
时,命令将失败。由于文件末尾缺少换行符
read,因此失败,因此将
while跳过循环的最后一次迭代。
如果您不想/不能确保输入文件的末尾有换行符,可以将您的文件
cat与进行分组,
echo以使输入的 外观 以换行符终止,例如:
{ cat hello; echo; } | while read a b c d; do echo $a,$b,$c,$ddone或像这样:
(cat hello; echo) | while read a b c d; do echo $a,$b,$c,$ddone



