shell 中的循环

1. for 循环

(1).  for 循环 读取数据的来源

  • 读取列表中的值

 for i in cao shu ming don\'t known;do echo $i;done
cao
shu
ming
don't
known

  •   从变量中获取

list="cao shu ming don\'t known"
for i in $list;do echo $i;done
cao
shu
ming
don\'t
known

  •   从命令中读取

 cat t
shuming  cao
an liu
lin wang        zhaoshu

for i in `cat t`;do echo $i;done
shuming
cao
an
liu
lin
wang
zhaoshu

  •   从通配符中读取

for i in `ls /etc/cron.d/*`;do echo $i;done
/etc/cron.d/arbitrator
/etc/cron.d/opsc
/etc/cron.d/sysstat

(2).  for 循环 列表中的字段分隔符

      for 循环默认的字段分隔符有三个:

  •   空格
  • 制表符
  • 换行符  

      也就是说在list中的三个中任何一个都可以会作为for的一个字段分隔符;就会把字段认为是一个分开;

所以在cat file 时要注意,并非是按照行来分的;

    可以用IFS 变量来设置字段分隔符:

IFS.OLD=$IFS
IFS=$'\n'     #只有换行符是for的字段分隔符;换行符必须这样写,否则无效
IFS=":"       $冒号是for的字段分隔符
IFS=$

(3). for C 模式

for((i=0;i<10;i++))
do 
commadn
done

2. while 命令

 读取文件: while的重要应用就是按照行来读取文件

while read line;
do 
   echo $line
done < t
shuming  cao
an liu
lin wang        zhaoshu

3. until 循环

只有但判断条件返回是0时才退出循环

n=5;until [ $n -eq 0 ];do echo $n; n=`expr $n - 1`;done
5
4
3
2
1

4. 控制循环

循环一旦执行,除非触发了停止的条件否则会一直执行下线;这时我们需要处理一些特殊的情况;

用continue + break跳出循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值