shell循环的区别for&while read line

本文通过小测试对比了for循环与whilereadline在处理文件时的区别,for循环以空格为单位进行读取,而whilereadline则以行为单位读取,展示了两种循环在实际应用中的不同表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过一个小测试来区分循环的不同意义

while read line 是一次性将文件信息读入并赋值给变量line ,while中使用重定向机制,文件中的所有信息都被读入并重定向给了整个while 语句中的line 变量

for是每次读取文件中一个以空格为分割符的字符串

话术借鉴(http://blog.itpub.net/22664653/viewspace-1175858/

文件ip.txt如下:

192.168.50.59 80
192.168.50.60 80
192.168.50.61 80
192.168.50.62 80
192.168.50.63 80

1、for

[root@localhost ~]# for i in `cat ip.txt`;do echo $i ;done
192.168.50.59
80
192.168.50.60
80
192.168.50.61
80
192.168.50.62
80
192.168.50.63
80

2、while read line

[root@localhost ~]# cat ip.txt |while read line;do echo $line;done
192.168.50.59 80
192.168.50.60 80
192.168.50.61 80
192.168.50.62 80
192.168.50.63 80

个人总结:for以空格为区分的循环单位 while read line以行为区分循环单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值