原本書上這個例子是教調試腳本的,它故意給出的腳本中有幾個錯誤,教我們認識系統提示的錯誤,并修改運行。但比較難寫出來,所以把修改好了的腳本放上來,這個腳本比較有趣味的
#!/bin/sh # hilow -- A simple number-guessing game biggest=100 # maximum number possible guess=0 # guessed by player guesses=0 # number of guesses made number=$(($$ % $biggest)) # random number, between 1 and $biggest while [ $guess -ne $number ] do echo -n "Guess? " ; read guess if [ "$guess" -lt $number ] ; then echo "... bigger!" elif [ "$guess" -gt $number ] ; then echo "... smaller!i" fi guesses=$(($guesses + 1)) done echo "Right!! Guessed $number in $guesses guesses." exit 0
腳本分析
#1) number=$(($$ % $biggest)) $$代表執行此shell的pid,因為每次執行shell的pid并不相同, 所以number為1-100的隨機數。
#2)$guess -ne $number ,if [ "$guess" -lt $number ],elif [ "$guess" -gt $number ] ;為判斷輸入的數字與$number的比較。
#3)整個腳本并不復雜,但邏輯清晰明了,也很有意思。
新聞熱點
疑難解答