本文是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循環