歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux Shell腳本入門教程系列之(十一)Shell while循環

Linux Shell腳本入門教程系列之(十一)Shell while循環

日期:2017/3/3 12:02:41   编辑:SHELL編程
本文是Linux Shell腳本系列教程的第(十一)篇,更多Linux Shell教程請看:Linux Shell腳本系列教程
在上一篇Linux Shell系列教程之(十)Shell for循環中,我們已經對Shell 循環語句的for循環進行了介紹,本篇給大家介紹下Shell 中另一種循環語句: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腳本系列教程
 
原文:Linux Shell系列教程之(十一)Shell while循環
本文轉自:Linux Shell腳本入門教程系列之(十一)Shell while循環
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Copyright © Linux教程網 All Rights Reserved