天天看点

shell编程之while条件语句—使用案例

理论知识:

shell编程之while条件语句—使用案例

题目:随机生成一个0-10的数字,判断并提示用户输入的值过高或者过低,只有当用户猜中才会结束程序。

[[email protected] xiehao]# vi whlie.sh
#!/bin/bash
#expr Expression  其中expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。
#Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现
#脚本中的$RANDOM变量是一个随机变量,在BASH环境下,这个RANDOM变量的内容是得到0~32767之间的随机数
#本例中,用于获得随机的在0到10的随机整数值,然后赋值给YUANLAI变量

YUANLAI=$(expr $RANDOM % 10)
#创建的记录次数的变量TIMES
TIMES=0
echo "商品的实际价格在0-10之间,猜猜看是多少"
#while为真时,进行下面的操作
while true
do
read -p "请输入猜测的价格:" PREICE
#Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现
#let 类似整型赋值语句,可以对变量进行赋值,也可以做整数的运算。let 表达式 支持 ++,-- 

let TIMES+=1
if [ $PREICE -eq $YUANLAI ]
then
echo "恭喜你!你输入的价格正确"
echo "共猜了$TIMES次"
#像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。
#break命令允许跳出所有循环(终止执行后面的所有循环)。break n  表示跳出第 n 层循环。
#continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。
#同样,continue 后面也可以跟一个数字,表示跳出第几层循环。

break

elif
[ $PREICE -gt $YUANLAI ]
then
echo "高了"

else
echo "低了"
fi
done
           

执行结果:

[[email protected] xiehao]# sh whlie.sh 
商品的实际价格在0-10之间,猜猜看是多少
请输入猜测的价格:-1
低了
请输入猜测的价格:-2
低了
请输入猜测的价格:4
低了
请输入猜测的价格:5
低了
请输入猜测的价格:6
低了
请输入猜测的价格:7
低了
请输入猜测的价格:8
低了
请输入猜测的价格:9
恭喜你!你输入的价格正确
共猜了8次
           

继续阅读