close

前往shell script教學目錄

 

判斷式與迴圈(loop)

(1) while迴圈:

其語法架構為:

while  [ 判斷式一 ] 邏輯運算符號 [ 判斷式二 ] 邏輯運算符號 [ 判斷式三 ]

do

當判斷式串的總測試結果為真,就執行寫在此的程式碼

done

說明:

※ 邏輯運算符號,可以是&&||。在中括號之中,&&代表交集,||代表聯集。

[ 判斷式 ]邏輯運算符號可以有無限組或只有一個[ 判斷式 ],不限於上例之三組。

[ 判斷式 ]中,判斷式即是3.所介紹過的判斷式。而判斷式與左右中括號之間,一定各要相隔一個空白字元,否則執行會出錯。

範例如:

i=3

while [ $i -gt 0 ] && [ $i -lt 5 ]

do

   echo $i

   i=$(($i-1))

done

執行顯示:

 

(2) until 迴圈:

其語法架構為:

until  [ 判斷式一 ] 邏輯運算符號 [ 判斷式二 ] 邏輯運算符號 [ 判斷式三 ]

do

當判斷式串的總測試結果為假,就執行寫在此的程式碼。直到總測試結果為真為止。

done

說明:

※ 邏輯運算符號,可以是&&||。在中括號之中,&&代表交集,||代表聯集。

[ 判斷式 ]邏輯運算符號可以有無限組或只有一個[ 判斷式 ],不限於上例之三組。

[ 判斷式 ]中,判斷式即是3.所介紹過的判斷式。而判斷式與左右中括號之間,一定各要相隔一個空白字元,否則執行會出錯。

範例如:

i=7

until [ $i -gt 0 ] && [ $i -lt 5 ]

do

   echo $i

   i=$(($i-1))

done

執行顯示:

 

(3) for 迴圈:

for迴圈有兩種寫法:

(3-1) for 迴圈第一種寫法:

for 變數名稱 in 值一 值二 值三   #事實上,可以有任意個

do

程式碼

done

在執行第N次迴圈N<=值的數目)時,會將存入變數並且執行程式碼。如:

for dirname in kkk jjj ggg

do

mkdir $dirname

done

執行之後,目錄下就多了kkk jjj ggg三個子目錄。

(3-2) for迴圈的第二種寫法,與C++中的for迴圈很像,是利用整數變數來設定初始值、迴圈執行條件、迴圈步階。語法如:

for ((變數名稱=初始值 ; 迴圈執行條件 ; 迴圈步階))

do

程式碼

done

其中,迴圈執行條件支援<><=>=符號來代表小於、大於、小於等於、大於等於,迴圈步階支援用 整數變數名稱++、整數變數名-- 來代表遞增和遞減。例如:

j=1

for ((i=1;i<=5;i++))

do

    j=$(($i*$j))

done

echo $j

執行顯示:

 

 

上一篇:if case 的用法

下一篇:函式(function)

前往shell script教學目錄

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()