while条件循环语句

2025-10-30 06:48:53

1、循环结构如图所示:

接下来就来利用多重分支的if条件测试语句与while条件循环语句来结合写一个用来判断数值的脚本吧,脚本中会使用$RANDOM变量来调取出一个随机的数值(范围:0--32767),然后通过expr命令计算取整出1000以内的一个随机数值,用这个数值来跟用户通过read命令输入的数值做比较判断。判断语句结构分为三项,分别是判断是否相等、是否大于随机值以及是否小于随机值,但这不是重点~关键是在于while条件循环语句的判断值为true,因此会无限的运行下去,直到猜中后运行exit 0命令才终止脚本。

while条件循环语句

2、[root@linuxprobe ~]# vim Guess.sh 

#!/bin/bash 

PRICE=$(expr $RANDOM % 1000) 

TIMES=0 

echo "商品实际价格为0-999之间,猜猜看是多少?" 

while true

do 

read -p "请输入您猜测的价格数目:" INT 

let TIMES++ 

if [ $INT -eq $PRICE ] ; then 

echo "恭喜您答对了,实际价格是 $PRICE" 

echo "您总共猜测了 $TIMES 次" 

exit 0 

elif [ $INT -gt $PRICE ] ; then 

echo "太高了!" 

else 

echo "太低了!" 

fi 

done

3、通过给脚本加上解释说明后整个内容开始变得丰满起来,互动感也变得很强,每当循环到let TIMES++这个命令时都会让TIMES变量内数值加上1,这样用来统计总共循环次数的功能更是画龙点睛,让操作者可以知道猜对价格最终使用了几次机会。

[root@linuxprobe ~]# bash Guess.sh 

商品实际价格为0-999之间,猜猜看是多少? 

请输入您猜测的价格数目:500 

太低了! 

请输入您猜测的价格数目:800 

太高了! 

请输入您猜测的价格数目:650 

太低了! 

请输入您猜测的价格数目:720 

太高了! 

请输入您猜测的价格数目:690 

太低了! 

请输入您猜测的价格数目:700 

太高了! 

请输入您猜测的价格数目:695 

太高了! 

请输入您猜测的价格数目:692 

太高了! 

请输入您猜测的价格数目:691 

恭喜您答对了,实际价格是 691 

您总共猜测了 9 次

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢