在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Shell 循環(huán)控制break/continue
Shell 輸入/輸出重定向
Shell 循環(huán)類(lèi)型
Shell是什么?
Shell 特殊變量
Shell 算術(shù)運(yùn)算符示例
Shell 關(guān)系運(yùn)算符示例
Shell 替代
Shell 函數(shù)
Shell 條件語(yǔ)句
Shell 聯(lián)機(jī)幫助
Shell 數(shù)組/Arrays
Shell 布爾運(yùn)算符范例
Shell
Shell if...elif...fi 語(yǔ)句
Shell case...esac 語(yǔ)句
Shell 使用Shell變量
Shell 文件測(cè)試符例子
Shell 基本運(yùn)算符
Korn Shell 運(yùn)算符
Shell 字符串運(yùn)算范例
Shell while 循環(huán)
Shell 引用機(jī)制
Shell if...else...fi 語(yǔ)句
Shell select 循環(huán)
C Shell運(yùn)算符
Shell 循環(huán)控制break/continue
Shell for循環(huán)
Shell until 循環(huán)
Shell if...fi語(yǔ)句

Shell 循環(huán)控制break/continue

到目前為止,我們已經(jīng)看到了,創(chuàng)建循環(huán)和使用循環(huán)來(lái)完成不同的任務(wù)。有時(shí)候,你需要停止循環(huán)或跳過(guò)循環(huán)迭代。

在本教程中,您將了解以下兩個(gè)語(yǔ)句用于控制 Shell 循環(huán):

  1. break 語(yǔ)句

  2. continue 語(yǔ)句

無(wú)限循環(huán):

循環(huán)有限的生命,他們跳出來(lái),一旦條件是 false 還是 false 取決于循環(huán)。

由于所需的條件是不符合一個(gè)循環(huán)可能永遠(yuǎn)持續(xù)下去。永遠(yuǎn)不會(huì)終止執(zhí)行一個(gè)循環(huán)執(zhí)行無(wú)限次數(shù)。出于這個(gè)原因,這樣的循環(huán)被稱(chēng)為無(wú)限循環(huán)。

例子:

下面是一個(gè)簡(jiǎn)單的例子,使用while循環(huán)顯示數(shù)字0到9:

#!/bin/sh

a=10

while [ $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done

這個(gè)循環(huán)將永遠(yuǎn)持續(xù)下去,因?yàn)槌J谴笥?0,它永遠(yuǎn)不會(huì)成為小于10。所以這是無(wú)限循環(huán)真實(shí)的例子。

break語(yǔ)句:

break語(yǔ)句用于終止整個(gè)循環(huán)的執(zhí)行,完成后所有行代碼break語(yǔ)句的執(zhí)行。然后,它逐級(jí)的代碼跟在循環(huán)結(jié)束。

語(yǔ)法

將用于以下break語(yǔ)句退出循環(huán):

break

將用于以下break語(yǔ)句退出循環(huán):

break n

這里n指定的第n個(gè)封閉的循環(huán)退出。

例子:

下面是一個(gè)簡(jiǎn)單的例子展示了循環(huán)將終止只要一變?yōu)?:

#!/bin/sh

a=0

while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=`expr $a + 1`
done

這將產(chǎn)生以下結(jié)果:

0
1
2
3
4
5

下面是一個(gè)簡(jiǎn)單的嵌套循環(huán)的例子。這個(gè)腳本打破兩個(gè)循環(huán),如果的 var1 等于2 和 var2 等于0:

#!/bin/sh

for var1 in 1 2 3
do
   for var2 in 0 5
   do
      if [ $var1 -eq 2 -a $var2 -eq 0 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

這將產(chǎn)生以下結(jié)果。內(nèi)循環(huán)有一個(gè) break 命令與參數(shù)2。這表明,如果條件得到滿(mǎn)足應(yīng)該跳出外循環(huán),并最終從內(nèi)循環(huán)跳出。

1 0
1 5

continue 語(yǔ)句:

continue語(yǔ)句break命令類(lèi)似,但它會(huì)導(dǎo)致當(dāng)前迭代的循環(huán)退出,而不是整個(gè)循環(huán)。

這種參數(shù)是有用的,當(dāng)一個(gè)錯(cuò)誤已經(jīng)發(fā)生,但你想嘗試執(zhí)行下一個(gè)循環(huán)迭代。

語(yǔ)法

continue

和break語(yǔ)句一樣,一個(gè)整數(shù)參數(shù)可以給continue命令跳過(guò)嵌套循環(huán)的命令。

continue n

這里n指定第n個(gè)封閉循環(huán) continue 。

例子:

下面的循環(huán)利用continue語(yǔ)句返回,并開(kāi)始處理下一個(gè)語(yǔ)句:

#!/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
   fi
   echo "Found odd number"
done

這將產(chǎn)生以下結(jié)果:

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