101个shell脚本 猜数字游戏代码
原本书上这个例子是教调试脚本的,它故意给出的脚本中有几个错误,教我们认识系统提示的错误,并修改运行。但比较难写出来,所以把修改好了的脚本放上来,这个脚本比较有趣味的
#!/bin/sh #hilow--Asimplenumber-guessinggame biggest=100#maximumnumberpossible guess=0#guessedbyplayer guesses=0#numberofguessesmade number=$(($$%$biggest))#randomnumber,between1and$biggest while[$guess-ne$number] do echo-n"Guess?";readguess if["$guess"-lt$number];then echo"...bigger!" elif["$guess"-gt$number];then echo"...smaller!i" fi guesses=$(($guesses+1)) done echo"Right!!Guessed$numberin$guessesguesses." exit0
脚本分析
#1)number=$(($$%$biggest))$$代表执行此shell的pid,因为每次执行shell的pid并不相同,所以number为1-100的随机数。
#2)$guess-ne$number,if["$guess"-lt$number],elif["$guess"-gt$number];为判断输入的数字与$number的比较。
#3)整个脚本并不复杂,但逻辑清晰明了,也很有意思。