[root@centos ~]# cat a
1 2 3
45 56 59
1 5 6 9
[root@centos ~]# cat a | while read b ; do echo $b ; done
1 2 3
45 56 59
1 5 6 9
[root@centos ~]# cat a | while read b c d ; do echo $b ; done
1
45
1
[root@centos ~]# cat a | while read b c d ; do echo $b $c ; done
1 2
45 56
1 5
第一个问题, while read 依次读取一行,然后赋值给一个变量
[root@centos ~]# while read b c d ; do echo $b $c ; done < a
1 2
45 56
1 5
[root@centos ~]# while read b ; do echo $b ; done < a
1 2 3
45 56 59
1 5 6 9
< a 和 < <(cat a)差不多 ,只是这三种方法用法不同
[root@centos ~]# while read b c d ; do echo $b $c ; done < <(cat a)
1 2
45 56
1 5
[root@centos ~]# while read b ; do echo $b ; done < <(cat a) 注意 < < 两个<中间有空格
1 2 3
45 56 59
1 5 6 9