| 
	怎么判断输入(read)来的字符串到底是数字还是非数字呢? 
	下载此脚本文件 
	  
	#!/bin/bash 
	#显示游戏历史的函数function List
 {
 echo "|>>"
 cat ~/.guessnumbergame
 echo "|>>"
 }
 #
 #进行游戏
 function DoGame
 {
 while true
 do
 
	let "TheTimeGuess += 1"echo "请输入您猜到的整数(输入-1承认失败)"
 BeginTime=$SECONDS
 read GuessNumber
 
	if [ ${GuessNumber} -eq "-1" ];thenecho "看来你选择了放弃:-)"
 echo "其实那个数字就是${TheNumberNeedGuess}"
 let "UseTime = $SECONDS - ${BeginTime}"
 echo "共猜测了${TheTimeGuess}次,用时${UseTime}秒"
 echo "${playername}大侠<<放弃>>了游戏,共猜测了${TheTimeGuess}次,用时${UseTime}秒." >> ~/.guessnumbergame
 break
 fi
 
	if [ ${GuessNumber} -lt ${TheNumberNeedGuess} ];thenecho "低了,加油啊~"
 fi
 
	if [ ${GuessNumber} -gt ${TheNumberNeedGuess} ];thenecho "高了,努力啊~"
 fi
 
	if [ ${GuessNumber} -eq ${TheNumberNeedGuess} ];thenecho "恭喜你猜对了:-)"
 let "UseTime = $SECONDS - ${BeginTime}"
 echo "共猜测了${TheTimeGuess}次,用时${UseTime}秒"
 echo "${playername}大侠<<完成>>了游戏,共猜测了${TheTimeGuess}次,用时${UseTime}秒." >> ~/.guessnumbergame
 break
 fi
 
	done}
 #函数结束
 
	clear 
	echo "|-----------------------------------------------|"echo "|---------------- 猜数字游戏 v0.1 --------------|"
 echo "|-----------------------------------------------|"
 echo "|-----------------------------------------------|"
 echo "|--------------------数字范围(0 - 32767)--------|"
 echo "|-----------Mailto:Harite.K@gmail.com-----------|"
 echo "|-----------MyBolg:http://hi.baidu.com/harite---|"
 
	TheNumberNeedGuess=$RANDOMTheTimeGuess=0
 
	#echo ${TheNumberNeedGuess} 
	while truedo
 
	echo "<1. 我要进行游戏>"echo "<2. 查看排行榜>"
 echo "<3. 退出游戏>"
 echo "请选择(1/2/3)"
 read choose
 
	if [ ${choose} -eq "1" ];thenecho "输入你的大名:"
 read playername
 DoGame
 elif [ ${choose} -eq "2" ];then
 List
 elif [ ${choose} -eq "3" ];then
 exit 0
 else
 continue
 fi
 
	done(责任编辑:IT) |