【Linux】结构化命令:嵌套循环

1、for-for嵌套

#!/bin/bash

for (( a = 1; a <= 5; a++ ))
do
  echo "外层循环,此时a=$a:"
  for (( b =1; b <=3; b++ ))
  do
    echo "   内层循环,此时b=$b;"
  done
done

2、while-for嵌套

#!/bin/bash

var1=7

while [ $var1 -ge 0 ]
do
  echo "外层循环,此时var1=$var1"
  for (( var2 = 1; var2 < 4; var2++ ))
  do
    var3=$[ $var1 * $var2 ]
    echo "   内层循环,var3=$var3"
  done
  var1=$[ $var1 - 1 ]
done

3、until-while嵌套

#!/bin/bash
var1=4

until [ $var1 -eq 0 ]
do
  echo "外层循环,此时var1=$var1"
  var2=1
  while [ $var2 -lt 5 ]
  do
    var3=$(echo "scale=3; $var1 / $var2" | bc)
    echo "   内层循环,var3=$var3"
    var2=$[ $var2 + 1 ]
  done
  var1=$[ $var1 - 1 ]
done

4、循环处理文件数据

在处理文件数据时,可以综合运用“嵌套循环”和“修改IFS环境变量”这两种手段。

#!/bin/bash
IFS.OLD=$IFS #将IFS的当前数据保存好
IFS=$"\n" #指定换行符作为字段分隔符
for item in $(cat /etc/passwd)
do
  echo "values in $item is:"
  IFS=: #指定冒号作为分隔符
  for value in $item
  do
    echo "   $value."
  done
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值