UNIX Shell迴圈控制

2021-10-06 14:26:58 字數 2092 閱讀 9046

shell迴圈控制

通過建立迴圈以及用迴圈來完成不同的任務。有時候你需要停止迴圈或跳出迴圈迭代。

在本教程中你將學到以下語句用於控制 shell 迴圈:

break 語句

continue 語句

無限迴圈

所有迴圈都有乙個有限的生命週期。當條件為假或真時它們將跳出迴圈,這取決於這個迴圈。

乙個迴圈可能會由於未匹配到適合得條件而無限執行。乙個永遠執行沒有終止的迴圈會執行無數次。因此,這種迴圈被稱為無限迴圈。

這是乙個使用 while 迴圈顯示數字 0 到 9 的簡單的例子:

#!/bin/sh

a=10

while [ $a -ge 10 ]

do echo $a

a=`expr $a + 1`

done

這個迴圈將永遠持續下去,因為 a 總是大於或等於 10,它永遠不會小於 10。

break 語句

所有在 break 語句之前得語句執行結束後執行 break 語句,break 語句用於跳出整個迴圈。然後執行迴圈體後面的**。然後在迴圈結束後執行接下來的**。

以下 break 語句將用於跳出乙個迴圈:

break

break 語句也可以使用這種格式來退出巢狀迴圈式:

break n

在這裡 n 指定封閉迴圈執行的次數然後退出迴圈。

這裡是乙個簡單的例子,用來說明只要 a 變成 5 迴圈將終止:

#!/bin/sh

a=0

while [ $a -lt 10 ]

do echo $a

if [ $a -eq 5 ]

then

break

fia=`expr $a + 1`

done

這會產生以下結果:01

2345

這裡是乙個簡單的巢狀 for 迴圈的例子。如果 var1 等於 var2 以及 var2 等於 0 ,則這個指令碼將跳出這個雙重迴圈:

#!/bin/sh

for var1 in 1 2 3

do for var2 in 0 5

doif [ $var1 -eq 2 -a $var2 -eq 0 ]

then

break 2

else

echo "$var1 $var2"

fidone

done

這會產生以下結果。在內迴圈中,有乙個 break 命令,其引數為 2。這表明,你應該打破外迴圈和內迴圈才能滿足條件。

1 01 5

continue 語句類似於 break 命令,二者不同之處在於,continue 語句用語結束當前迴圈,能引起當前迴圈的迭代的退出,而不是整個迴圈。

這個語句在當程式發生了錯誤,但你想執行下一次迴圈的時候是非常有用的。

continue

正如 break 語句,乙個整型引數可以傳遞給 continue 命令以從巢狀迴圈中跳過命令。

continue n

在這裡 n 指定封閉迴圈執行的次數然後進入下一次迴圈。

使用 continue 語句的迴圈,它返回 continue 語句並且開始處理下乙個語句:

#!/bin/sh

nums="1 2 3 4 5 6 7"

for num in $nums

do q=`expr $num % 2`

if [ $q -eq 0 ]

then

echo "number is an even number!!"

continue

fiecho "found odd number"

done

這會產生以下結果:

found odd number

number is an even number!!

found odd number

number is an even number!!

found odd number

number is an even number!!

found odd number

for迴圈控制

今天回來有點晚,所以可能編譯有點急,希望大家諒解吧!今天來學學for迴圈和do while迴圈吧!do while迴圈 1.do while迴圈結構.無論如何do while是1種迴圈結構.所以它的作用 仍然是 將1段 進行反覆不停的執行指定的次數.一樣是來做迴圈的事情.2.語法 do while ...

UNIX Shell 程式設計 1

unix shell 程式設計 1 unix只能識別3種基本的檔案型別 普通檔案 目錄檔案和特殊檔案。普通檔案 any file on the system that contains data,test,program instructions,or just about anything els...

UNIX Shell 程式設計 2

unix shell 程式設計 2 字元匹配 星號 匹配0個以上的字元 而問號 則匹配1個字元。如 ls a z 0 9 表示顯示檔名以小寫字母開始,且以數字結尾的檔案列表。輸出重定向 命令的輸出一般是提交到標準輸出裝置,可以轉向到檔案內,這叫輸出重定向。在有標準輸出的命令後,新增 file符號後,...