iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1
自我挑戰組

30 天不間斷-資工隨筆大雜燴系列 第 25

[Day 25] 自己的 Shell Script 自己寫 - While 迴圈

  • 分享至 

  • xImage
  •  

前言

今天我們要介紹 while 這個語法,昨天的 for 可以解決適合迭代的問題,而今天這個 while 適合解決重複邏輯的問題

重複邏輯

重複邏輯就是當一個判斷式回傳 True 之後,這個判斷式底下的程式碼就會開始工作,工作完之後再回到原本的判斷式等待指令,如果還是 True,就繼續工作,如果是 False ,就結束這個輪迴。

語法

while [ 判斷式 ]
do
   程式碼
done

寫一個猜數字腳本

  1 #!/bin/bash
  2 max_num=0;count=0;guess=0 
  3 answer=$(( $RANDOM % $max_num + 1 ))
  4 
  5 
  6 echo "請輸入 1 到 $max_num (含)的數字~"
  7 
  8 while [ "$guess" != $answer ] ; do
  9   echo -n "輸入:" ; read guess
 10   if [ "$guess" -lt $answer ] ; then
 11     echo "太小了!"
 12   elif [ "$guess" -gt $answer ] ; then
 13     echo "太大了!"
 14   fi
 15   count=$(( $guesses + 1 ))
 16 done
 17 
 18 echo "答對了!正確答案就是 $answer"

輸入

注意 RAMDOM 是一個隨機值,因此除以 max_num 之後,answer 的值會介於 1 到 max_num

重複邏輯

下面的 while 區塊就是當使用者猜的數字不等於答案,就會進去下面的程式碼區塊,就會根據你的猜測顯示對應的提示。

計算次數

然後 count 會記錄你的猜測次數,每猜測一次 count 就會加上 1,最後答對會顯示訊息。


上一篇
[Day 24] 自己的 Shell Script 自己寫 - for 迴圈
下一篇
[Day 26] 自己的 Shell Script 自己寫 - 函式篇
系列文
30 天不間斷-資工隨筆大雜燴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言