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