猜数字游戏之shell实现

#!/bin/bash
#Designed by hcwei!
#2018-09-03 15:13:00
#百分比通过将过往猜测的次数存到his.txt文件,然后对比获得比以前好的次数除以总次数得到百分比
#初始化比别人好的次数
a=1

#初始化猜测次数
k=1

#生成1-60的随机数i
while true
do
  u=`echo $RANDOM | cut -c1-2`
  if [ $u -ge 1 ]&&[ $u -le 60 ]
  then
    i=$u
    break
  else
    continue
  fi
done

#主对比程序
while true
do
  read -p "请猜一个1-60的数字并输入:" n
  if [ $n -gt 60 ]||[ $n -lt 1 ]
  then
    echo "请您输入1-60的数字!"
    continue
  fi
  if [ $n -gt $i ]
  then
    echo -e "哥们儿,猜\033[31m高\033[0m了,请继续。"
    k=$(expr $k + 1)
    continue
  elif [ $n -lt $i ]
  then
    echo -e "哥们儿,猜\033[32m低\033[0m了,请继续。"
    k=$(expr $k + 1)
    continue
  elif [ $n -eq $i ]
  then
    if [ $k -le 3 ]
    then
      echo -e "您一共猜了\033[1;33m$k\033[0m次,太牛逼了,膜拜 。"
    elif [ $k -gt 3 ]&&[ $k -le 8 ]
    then
      echo -e "您一共猜了\033[1;33m$k\033[0m次,马马虎虎,请再接再厉。"
    else
      echo "哥们,就你这智商,该回炉重造了。"
    fi
  echo $k >>his.txt
  break
  else
    continue
  fi
done

#获取猜测总次数b
b=`cat his.txt|wc -l`

#获得比其他人厉害的次数
for t in `cat his.txt`
do
  if [ $t -gt $k ]
  then
    a=$(expr $a + 1)
    continue
  fi
done

#输出百分比信息
c=`echo "scale=4;${a}/${b}*100"|bc`
echo -e "一共猜了\033[1;33m${k}\033[0m次,击败了全国\033[1;33m${c}%\033[0m的运维工程师"

运行截图:
image.png