shell中for和while区别

发现for和while一个细节上的区别,写出来备忘。

脚本:
file=/home/hadoop/phrases.txt

for content in `cat ${file}`
do
        phrase=`echo ${content}`
        echo $phrase
done


phrases.txt文件内容是:

Hello previous rep

很自然的以为echo $phrase的值是"Hello previous rep",不过出乎意料,结果是"Hello"。怎样才能打印出整行"Hello previous rep"呢?用while。
file=/home/hadoop/phrases.txt

cat ${file} | while read content
do
    phrase=`echo ${content}`
    echo $phrase

done
打印结果:"Hello previous rep。

原因:for循环式以空格为分隔符,而while是以一行为分隔符。所以如果一行文本中有空格,要遍历多行文本,最好采用while。

如若转载,请说明出处! http://blog.csdn.net/xukunddp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值