while 循环 与case循环

while条件语句用于重复测试某个条件,当条件成立时则继续重复执行。
在这里插入图片描述

猜数字游戏:
#!/bin/bash
NUM=$(expr $RANDOM % 1000) #echo $RANDOM 随机数(0-32767)
echo "真实数字是多少"
TIME=0
while true
do
read -p "输入猜测的数:" SHU
let TIME++
if [ $SHU -eq $NUM ]
then
echo "猜对了"
echo "你猜了$TIME次"
exit 0  跳出循环
elif [ $SHU -gt $NUM ]
then
echo "大了"
else
echo "小了"
fi
done

case循环

case条件语句可以依据变量的不同取值,分别执行不同的命令动作。
在这里插入图片描述

判断输入的字符是什么
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
[0-9][0-9])
echo "您输入的是 数字。"
;;
[0-9][0-9][0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
组合使用
#!/bin/bash
NUM=$(expr $RANDOM % 1000)
echo "真实数字是多少"
TIME=0
while true
do
read -p "输入猜测的数:" SHU
let TIME++
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$SHU" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
[0-9][0-9])
echo "您输入的是 数字。"
;;
[0-9][0-9][0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
if [ $SHU -eq $NUM ]
then
echo "猜对了"
echo "你猜了$TIME次"
exit 0  跳出循环
elif [ $SHU -gt $NUM ]
then
echo "大了"
else
echo "小了"
fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值