1. 程式人生 > >Linux Shell系列教程之(十一)Shell while迴圈

Linux Shell系列教程之(十一)Shell while迴圈

在上一篇Linux Shell系列教程之(十)Shell for迴圈中,我們已經對Shell 迴圈語句的for迴圈進行了介紹,本篇給大家介紹下Shell 中另一種迴圈語句:Shell while迴圈。

Shell while迴圈

Shell while迴圈語法及特點

Shell while迴圈的語法如下所示:

while command
do
   Statement(s) to be executed if command is true
done

command 為條件測試,如果傳回值為0(條件測試為真),則進入迴圈,執行命令區域,否則不進入迴圈。

在執行命令的區域中,應該要有改變條件測試的命令,這樣,才有機會在有限步驟後結束執行while迴圈(除非想要執行無窮迴圈)。

while迴圈通常用來不斷執行一系列命令,也可以用來從輸入檔案中讀取資料;

命令通常為測試條件。

Shell while迴圈使用舉例

瞭解了Shell while迴圈的語法及特點以後,接下來通過幾個例子來詳細瞭解下Shell while迴圈的使用。

例子1:

COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER='expr $COUNTER+1'
    echo $COUNTER
done

說明:如果COUNTER小於5,那麼返回 true。COUNTER從0開始,每次迴圈處理時,COUNTER加1,直到COUNT為5後終止。

輸出:

1

2

3

4

5

例子2:

#!/bin/bash
while read text
do
  echo ${text}
done < /home/infile

說明:這個例子使用read在標準輸入讀取資料,放入變數text中,如果讀到的資料非空,就進入迴圈。然後在迴圈中把該行資料顯示出來。

最後一樣是輸入重定向,將/home/infile的內容作為此指令碼的標準輸入。

此指令碼的輸出結果就是infile檔案的內容。

輸出:

Hello world!

I am linuxdaxue.com!

例子3:

#!/bin/bash
declare -i i=1
declare 
-i sum=0 while ((i<=10)) do let sum+=i let ++i done echo $sum

說明:在這個例子中,首先聲明瞭兩個int型別的變數i和sum,然後進入下面的迴圈,滿足條件後跳出迴圈。

結果:這個例子就作為留給大家的一個思考題目,大家可以自己試驗下,或者關注我的微信公眾號(微訊號:Linuxdaxue)後,傳送【shell while迴圈】,來檢視答案。

好了,有關Shell while迴圈的內容今天就先給大家介紹這些。更多Linux Shell教程請看:Linux Shell系列教程