干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

shell腳本之使用break命令退出循環(huán)

百恒網(wǎng)絡(luò) 2017-09-01 16182

break命令是退出循環(huán)的一個(gè)簡(jiǎn)單方法??梢杂胋reak命令來(lái)退出任意類型的循環(huán),包括 while和until循環(huán)。

有幾種情況可以使用break命令,那么到底是哪些情況下可以使用break命令呢?下面南昌網(wǎng)絡(luò)公司-百恒網(wǎng)絡(luò)就來(lái)和大家介紹一下:

1、跳出單個(gè)循環(huán)

在shell執(zhí)行break命令時(shí),它會(huì)嘗試跳出當(dāng)前正在執(zhí)行的循環(huán)。

$ cat test17

#!/bin/bash

# breaking out of a for loop

for var1 in 1 2 3 4 5 6 7 8 9 10

do

if [ $var1 -eq 5 ]

then

break

fi

echo "Iteration number: $var1"

done

echo "The for loop is completed"

$ ./test17

Iteration number: 1

Iteration number: 2

Iteration number: 3

Iteration number: 4

The for loop is completed

$

for循環(huán)通常都會(huì)遍歷列表中指定的所有值。但當(dāng)滿足if-then的條件時(shí),shell會(huì)執(zhí)行break 命令,停止for循環(huán)。

這種方法同樣適用于while和until循環(huán)。

$ cat test18

#!/bin/bash

# breaking out of a while loop

var1=1

while [ $var1 -lt 10 ]

do

if [ $var1 -eq 5 ]

then

break

fi

echo "Iteration: $var1"

var1=$[ $var1 + 1 ]

done

echo "The while loop is completed"

$ ./test18

Iteration: 1

Iteration: 2

Iteration: 3

Iteration: 4

The while loop is completed

$

while循環(huán)會(huì)在if-then的條件滿足時(shí)執(zhí)行break命令,終止。

2、跳出內(nèi)部循環(huán)

在處理多個(gè)循環(huán)時(shí),break命令會(huì)自動(dòng)終止你所在的內(nèi)層的循環(huán)。

$ cat test19

#!/bin/bash

# breaking out of an inner loop

for (( a = 1; a < 4; a++ ))

do

echo "Outer loop: $a"

for (( b = 1; b < 100; b++ ))

do

if [ $b -eq 5 ]

then

break

fi

echo " Inner loop: $b"

done

done $ ./test19

Outer loop: 1

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

Outer loop: 2

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

Outer loop: 3

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

$

內(nèi)部循環(huán)里的for語(yǔ)句指明當(dāng)變量b等于100時(shí)停止迭代。但內(nèi)部循環(huán)的if-then語(yǔ)句指明當(dāng) 變量b的值等于5時(shí)執(zhí)行break命令。注意,即使內(nèi)部循環(huán)通過(guò)break命令終止了,外部循環(huán)依然 繼續(xù)執(zhí)行。

3、跳出外部循環(huán)

有時(shí)你在內(nèi)部循環(huán),但需要停止外部循環(huán)。break命令接受單個(gè)命令行參數(shù)值:

break n

其中n指定了要跳出的循環(huán)層級(jí)。默認(rèn)情況下,n為1,表明跳出的是當(dāng)前的循環(huán)。如果你將 n設(shè)為2,break命令就會(huì)停止下一級(jí)的外部循環(huán)。

$ cat test20

#!/bin/bash

# breaking out of an outer loop

for (( a = 1; a < 4; a++ ))

do

echo "Outer loop: $a"

for (( b = 1; b < 100; b++ ))

do

if [ $b -gt 4 ]

then

break 2

fi

echo " Inner loop: $b"

done

done

$ ./test20

Outer loop: 1

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

$

注意,當(dāng)shell執(zhí)行了break命令后,外部循環(huán)就停止了。

以上便是百恒網(wǎng)絡(luò)為大家介紹的關(guān)于shell腳本中使用break命令退出循環(huán)的幾種情況,了解更多關(guān)于shell腳本方面的知識(shí),歡迎訪問(wèn)百恒網(wǎng)絡(luò),百恒網(wǎng)絡(luò)是優(yōu)秀的南昌網(wǎng)絡(luò)公司之一,精通各種網(wǎng)站建設(shè)語(yǔ)言方面的技術(shù),主營(yíng)網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)等服務(wù),如有需要我們服務(wù)的地方,可隨時(shí)來(lái)電和我們聯(lián)系!


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
博野县| 普兰店市| 石家庄市| 凤翔县| 宜城市| 南乐县| 武威市| 遂平县| 长岭县| 克拉玛依市| 平江县| 化德县| 镇江市| 西峡县| 琼结县| 虹口区| 德格县| 景谷| 广饶县| 江孜县| 福泉市| 和硕县| 富阳市| 万宁市| 方山县| 疏附县| 镇平县| 九寨沟县| 汪清县| 东兰县| 呼和浩特市| 陇川县| 会泽县| 伊通| 寿阳县| 云龙县| 葫芦岛市| 康保县| 霍州市| 衡南县| 壶关县|