Shell循环语句详解--while、until循环

一.while循环基本格式

while循环,当循环条件为真时,就执行循环操作
基本格式:

while 条件        
do 
	命令
done

while语法结构:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二.while循环

2.1乘法表

在这里插入图片描述

2.2猜数字

#!/bin/bash
echo "数字范围为:0-999,请猜猜是多少"
S=$[RANDOM%1000]      #RANDOM为系统变量,随机生成一个随机数
A=0                   #%1000,除1000取余,那么生成的随机数就为0-999 
while true            #true 为永真,所以次循环为死循环,会一直持续进行
do
 read -p "请输入你猜的数字:" NUM
let A++
 if [ $NUM -eq $S ];then
echo "恭喜你,猜对了!你一共猜了$A次"
 break                 #break为跳出循环,不再进行循环
 elif [ $NUM -gt $S ];then
 echo "你猜的数字高了,你已经猜错了$A次"
 else
echo "你猜的数字低了,你已经猜错了$A次"
 fi
done

在这里插入图片描述
在这里插入图片描述

2.3循环嵌套

在while循环中,我们可以使用其它语法进行嵌套
模拟餐厅点餐

#!/bin/bash
#模拟餐厅点餐
i=1
sum=0
while [ $i -le 3 ]
do
 echo "第$i家餐厅"
 read -p "是否进入该餐厅(yes/no)" choice
  while [ $choice == yes ]
  do
cat <<EOF
===========菜单===========
1.西红柿鸡蛋:18
2.烤鸭:48
3.鲈鱼:88
4.小龙虾:99
EOF
   read -p "请选择你要吃的" choice2
   case $choice2 in
   1)
     echo "你点了西红柿鸡蛋"
     let sum=$sum+18
   ;;
   2)
     echo "你点了烤鸭"
     let sum=$sum+48
   ;;
   3)
     echo "你点了鲈鱼"
     let sum=$sum+88
3)
     echo "你点了鲈鱼"
     let sum=$sum+88
   ;;
   4)
     echo "你点了小龙虾"
     let sum=$sum+99
   ;;
    esac
    read -p "是否继续选择菜品(yes/no)" choice
  done
  let i++
  echo "你在$i店内消费了$sum元"
done
echo "你本次外出一共消费$sum元"

在这里插入图片描述

在这里插入图片描述

三.until循环

until循环和while循环使用方法基本一直,不同点在于,while循环在条件为true时进行循环,而until循环与其恰恰相反,当条件为false时执行循环。
基本格式:

until 条件
do 
   命令
done

until语法结构:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四.总结

1.while循环与until循环,结构相似,在生产中绝大多数情况使用while循环
2.因while循环语句,当条件为true时会一直进行循环操作,要注意条件格式,防止进入死循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值