聯成電腦技術論壇

 找回密碼
 註冊
搜索
查看: 1613|回復: 3

[問題] 關於上課的shell script

[複製鏈接]
發表於 2009-6-9 16:34:51 | 顯示全部樓層 |閱讀模式
小州老師您好

       上課時練習的script第25_guess_games.sh
  1. #!/bin/bash

  2. let n1=RANDOM%101
  3. let count=0

  4. start_time=$( date +%s )

  5. while true
  6. do
  7.         echo -n  "Please input the number to guess: "
  8.         read n2
  9.         let count++

  10.         if [ -z "$n2" ]; then
  11.                 echo -e "\nError: try again !\n"

  12.         elif [ "$n2" -gt "100" ] || [ "$n2" -lt "0" ]; then
  13.                 echo -e "\nError: out of range !\n"

  14.         elif [ "$n2" -gt "$n1" ]; then
  15.                 echo -e "\nYour number $n2 is too big !\n"

  16.         elif [ "$n2" -lt "$n1" ]; then
  17.                 echo -e "\nYour number $n2 is too small !\n"

  18.         elif [ "$n2" -eq "$n1" ]; then
  19.                 end_time=$( date +%s )

  20.                 echo -e "\nBingo !"
  21.                 echo -e "\nYou use $count times, use $[ end_time - start_time ] seconds\n"

  22.                 echo -n "Play again [Y/N] ? "
  23.                 read again

  24.                 if [ "$again" == "y" ] || [ "$again" == "Y" ]; then
  25.                         let n1=RANDOM%101
  26.                         let count=0
  27.                         start_time=$( date +%s )       
  28.                         continue
  29.                 else
  30.                         break
  31.                 fi
  32.        
  33.        
  34.         else
  35.                 echo -e "\nError ! something wrong !\n"

  36.         fi
  37. done
複製代碼
照老師的話練習把它改成丟一個數讓電腦來猜,我改成以下這樣
  1. #!/bin/bash

  2. let n1=67
  3. let count=0
  4. while true
  5. do
  6.   let n2=RANDOM%101
  7.   let count++
  8.         if [ "$n2" -eq "$n1" ] ; then
  9.                 echo -e "\nBingo!! n2=$n1\n"
  10.                 echo -e "\nPC run $count times\n"
  11.                 echo -n "Do you play again? (N)[ Y/N ]"
  12.                 read ans
  13.                         if [ "$ans" == "y" ] || [ "$ans" == "Y" ] ; then
  14.                                 let n1=67
  15.                                 let count=0
  16.                         else
  17.                                 break
  18.                         fi
  19.         elif [ "$n2" -gt "$n1" ] || [ "$n2" -lt "$n1" ] ; then
  20.                 echo -e "\n$n2 is a wrong number!"


  21.         fi
  22. done
複製代碼
我的問題就是不知道是不是這樣改?還是根本就是錯的?或是有其他的建議可以讓我參考看看,謝謝。

我對寫程式實在沒有個底...如果問的太新請多多包涵 。
頭像被屏蔽
發表於 2009-6-25 17:59:40 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
頭像被屏蔽
發表於 2009-6-25 18:30:06 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
 樓主| 發表於 2009-8-3 13:33:58 | 顯示全部樓層
好久沒上來了,才發現老師有回文呀!!
感謝老師,我參考看看。 ^^
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

小黑屋|Archiver|手機版|聯成電腦技術論壇

GMT+8, 2024-11-14 23:45

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表