1.2.3 嵌套案例
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
简介
这里的嵌套实践,与选择语句的嵌套实践基本一致,只不过组合的方式发生了一些变化。常见的组合样式如下:
while嵌套while语句while 循环条件dowhile 循环条件语句done
while嵌套if语句while 循环条件doif 条件控制语句done	
简单实践
while嵌套while语句实践1-输出99乘法表
查看脚本内容
[root@localhost ~]# cat while_nine_table.sh
#!/bin/bash
# 功能:while打印99乘法表# 定制打印99乘法表的业务逻辑
# 对第一个位置的数字进行循环
num1=1
while [ ${num1} -le 9 ]
do# 对第二个位置的数字进行循环num2=1while [ ${num2} -le ${num1} ]do# 信息输出,\t\c 的目的是删除后续信息,生成的内容是固定长度echo -e "\e[$[RANDOM%9+31]m${num1}x${num2}=$[num1*num2]\e[0m\t\c"num2=$[$num2+1]doneecho # 一个子循环一行内容num1=$[$num1+1]
done	
脚本文件执行效果
[root@localhost ~]# /bin/bash while_nine_table.sh
1x1=1
2x1=2   2x2=4
3x1=3   3x2=6   3x3=9
4x1=4   4x2=8   4x3=12  4x4=16
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81
while嵌套if语句实践2-手机发送短信1次/1毛,余额低于1毛提示无法发送请充值
[root@localhost ~]# cat while_mobile_bill.sh
#!/bin/bash
# 功能:while提示收集发短信# 定制普通变量
read -p "> 请输入收集话费余额(元): " mobile_bill# 定制普通变量
sms_num=0
bull_count=$[$mobile_bill * 10]
while [ $bull_count -ge 0 ]
dosms_num=$(($sms_num+1))if [ $bull_count -lt 1 ];thenecho "剩余费用不足,请充话费!"elseecho "截至目前,您已发送 ${sms_num} 条短信。"fibull_count=$(($bull_count-1))sleep 0.1
done
脚本执行效果
[root@localhost ~]# /bin/bash while_mobile_bill.sh
> 请输入收集话费余额(元): 1
截至目前,您已发送 1 条短信。
截至目前,您已发送 2 条短信。
截至目前,您已发送 3 条短信。
截至目前,您已发送 4 条短信。
截至目前,您已发送 5 条短信。
截至目前,您已发送 6 条短信。
截至目前,您已发送 7 条短信。
截至目前,您已发送 8 条短信。
截至目前,您已发送 9 条短信。
截至目前,您已发送 10 条短信。
剩余费用不足,请充话费!
小结