while的使用语法

while true
do
    代码块
done

 

案例:
猜数字游戏

  1. 使用命令随机生成一个数字 1-100
    echo $((RANDOM%100+1))
    while true
    do
  2. 要求用户输入要猜的数字 (数字需要判断是否是整数)
    read -p xxx num
  3. 比对随机数和用户猜的数字
  4. 输出结果
    用户猜的数字小 则输出到屏幕 你猜的数字小了
    如果数字大于随机数 则输出 你猜的数字大了
    如果数字相等 则提示 恭喜你 猜对了 && exit
    done
[root@shell ~]# cat ran.sh 
#!/bin/sh
ran=`echo $((RANDOM%100+1))`
while true
do
let i++
read -p "请输入你要猜的数字[1-100]: " num
if [ $num -gt $ran ];then
     echo "你输入的数字 $num 大了"
elif [ $num -lt $ran ];then
     echo "你输入的数字 $num 小了"
else
     echo "恭喜你答对了随机数为$ran"
     echo "总共猜了$i 次"
     exit
fi
done