shell中while read命令的理解

在shell中处理文本时,常用使用while和read进行配合实现。

使用方法是 while read;do  xxxx;done < xxx.txt(形式一),这里之前一直不能理解,为什么不是while read< xxx.txt;do xxx;done(形式二) 的形式。

理解如下:

1.形式一是将xxx.txt的内容作为while命令的标准输入,也就是while命令里面包含的命令都能获取到while的标准输入。

2.形式二是将xxx.txt的内容只作为read命令的标准输入,只有read才能读到。

3.read是一次从标准输入获取一行,所以将xxx.txt的内容给read,read也只能读取一行。而配合while的时候,read就是一行一行的去把while的标准输入消耗掉。