#! /bin/bash
#猜数游戏
#shell带有内置函数RANDOM可以随机生成随机数其范围为:0~32767 $RANDOM
num_valid=1
num=0
#-------------------------------------------------
function guess_input()
{
#echo "please input num(1-999)"
#read -n 3 num
#num=$(($RANDOM%999 +1)) # $(())整数运算符
num=$[$RANDOM%999 +1] #$ [] $ (()) :它们是一样的,都是进行数学运算的 bash只能作整数运算,对于浮点数是当作字符串处理的
#if (($num <0 || $num >999))
#then
#exit 1
#fi
if false;then
if grep -q '[^0-9]'
then
echo "input invalid"
return
fi
fi
if true ;then
case $num in
[1-9])
;;
[1-9][0-9])
;;
[1-9][0-9][0-9])
;;
*)
echo "input invalid!"
return
;;
esac
fi
num_valid=0
}
#-------------------------------------------------
function guess_guess()
{
echo "please guess"
echo "作弊$num"
while read a
do
if (($a==$num))
then
echo "bingo"
break
elif(($a > $num))
then
echo "大了"
else
echo "小了"
fi
done
}
#-------------------------------------------------
function guess()
{
guess_input
if(($num_valid!=0))
then
return
fi
guess_guess
}
#-------------------------------------------------
guess
01-11
233
