while read读取文本内容

读取文件给 while 循环
方式一:

exec <FILE 
while read line 
do 
    cmd 
done 

方式二:

cat FILE_PATH |while read line 
do 
    cmd 
done 

方式三:

while read line 
do 
    cmd 
done <FILE

 

举例:

ip.txt内容如下:

10.1.1.11 root 123
10.1.1.22 root 111
10.1.1.33 root 123456
10.1.1.44 root 54321

 

写法1:

cat ip.txt | while read ip user pass
do
    echo "$ip--$user--$pass"
done

 

写法2:

while read ip user pass
do
    echo "$ip--$user--$pass"
done < ip.txt

 

使用IFS作为分隔符读文件

说明:默认情况下IFS是空格,如果需要使用其它的需要重新赋值

IFS=:

例如:

# cat test
chen:222:gogo
jie:333:hehe
# cat test.sh
#!/bin/bash
IFS=:
cat test | while read a1 a2 a3
do
    echo "$a1--$a2--$a3"
done

 

posted @ 2018-07-26 23:37  fcing  阅读(12042)  评论(0编辑  收藏  举报