您的位置:首頁(yè) > 國(guó)內(nèi) >

shell循環(huán)語(yǔ)句

2023-04-11 15:20:37 來(lái)源:騰訊云

Shell腳本是一種非常強(qiáng)大的自動(dòng)化工具,可以自動(dòng)執(zhí)行一系列任務(wù)。其中一個(gè)重要的功能是使用循環(huán)語(yǔ)句重復(fù)執(zhí)行命令或一組命令。本文將介紹Shell中的三種循環(huán)語(yǔ)句:for、while和until,并提供相應(yīng)的語(yǔ)法和示例。


(資料圖片)

for循環(huán)語(yǔ)句

for循環(huán)是一種常用的循環(huán)語(yǔ)句,可以根據(jù)指定的條件循環(huán)執(zhí)行一組命令。for循環(huán)語(yǔ)句的語(yǔ)法如下:

for variable in word1 word2 ... wordNdo    command1    command2    ...    commandNdone

其中,variable是循環(huán)變量,word1 word2 ... wordN是需要循環(huán)遍歷的元素。每次循環(huán)variable會(huì)被賦值為word1、word2等元素,然后執(zhí)行一組命令。

以下是一個(gè)使用for循環(huán)語(yǔ)句輸出數(shù)字的示例:

#!/bin/shfor i in {1..5}do    echo "Number $i"done

在這個(gè)示例中,使用for循環(huán)語(yǔ)句遍歷數(shù)字1到5,然后輸出“Number 1”、“Number 2”等信息。輸出結(jié)果如下:

Number 1Number 2Number 3Number 4Number 5

while循環(huán)語(yǔ)句

while循環(huán)是一種另外一種常用的循環(huán)語(yǔ)句,可以在指定條件成立時(shí),重復(fù)執(zhí)行一組命令。while循環(huán)語(yǔ)句的語(yǔ)法如下:

while [ condition ]do    command1    command2    ...    commandNdone

其中,condition是指定條件,只有當(dāng)條件成立時(shí),才會(huì)執(zhí)行循環(huán)內(nèi)的命令。如果條件不成立,循環(huán)會(huì)跳出。執(zhí)行一組命令后,再次檢查條件是否成立,如果成立則繼續(xù)執(zhí)行一組命令。

以下是一個(gè)使用while循環(huán)語(yǔ)句輸出數(shù)字的示例:

#!/bin/shi=1while [ $i -le 5 ]do    echo "Number $i"    i=$(($i+1))done

在這個(gè)示例中,使用while循環(huán)語(yǔ)句遍歷數(shù)字1到5,然后輸出“Number 1”、“Number 2”等信息。輸出結(jié)果如下:

Number 1Number 2Number 3Number 4Number 5

在while循環(huán)語(yǔ)句中,首先定義變量i的值為1,然后在循環(huán)體內(nèi)輸出變量i的值。在循環(huán)的末尾,將變量i的值加1,以便在下一次循環(huán)中輸出下一個(gè)數(shù)字。如果變量i的值大于5,則循環(huán)會(huì)停止。

until循環(huán)語(yǔ)句

until循環(huán)是一種與while循環(huán)相反的循環(huán)語(yǔ)句。只有在指定條件成立時(shí),才會(huì)停止循環(huán)。until循環(huán)語(yǔ)句的語(yǔ)法如下:

until [ condition ]do    command1    command2    ...    commandNdone

其中,condition是指定條件,只有當(dāng)條件不成立時(shí),才會(huì)執(zhí)行循環(huán)內(nèi)的命令。如果條件成立,循環(huán)會(huì)跳出。執(zhí)行一組命令后,再次檢查條件是否成立,如果不成立則繼續(xù)執(zhí)行一組命令。

以下是一個(gè)使用until循環(huán)語(yǔ)句輸出數(shù)字的示例:

#!/bin/shi=1until [ $i -gt 5 ]do    echo "Number $i"    i=$(($i+1))done

在這個(gè)示例中,使用until循環(huán)語(yǔ)句遍歷數(shù)字1到5,然后輸出“Number 1”、“Number 2”等信息。輸出結(jié)果如下:

Number 1Number 2Number 3Number 4Number 5

在until循環(huán)語(yǔ)句中,首先定義變量i的值為1,然后在循環(huán)體內(nèi)輸出變量i的值。在循環(huán)的末尾,將變量i的值加1,以便在下一次循環(huán)中輸出下一個(gè)數(shù)字。如果變量i的值大于5,則循環(huán)會(huì)停止。

break和continue語(yǔ)句

Shell腳本中的break和continue語(yǔ)句可以幫助您控制循環(huán)。break語(yǔ)句用于跳出循環(huán),而continue語(yǔ)句用于跳過(guò)當(dāng)前循環(huán)并繼續(xù)下一次循環(huán)。以下是這些語(yǔ)句的語(yǔ)法:

breakcontinue

以下是一個(gè)使用break和continue語(yǔ)句的示例:

#!/bin/shi=1while [ $i -le 5 ]do    if [ $i -eq 3 ]    then        i=$(($i+1))        continue    fi    if [ $i -eq 4 ]    then        break    fi    echo "Number $i"    i=$(($i+1))done

在這個(gè)示例中,使用while循環(huán)語(yǔ)句遍歷數(shù)字1到5,然后輸出“Number 1”、“Number 2”等信息。但是,如果循環(huán)變量等于3,則使用continue語(yǔ)句跳過(guò)此次循環(huán)并繼續(xù)執(zhí)行下一次循環(huán)。如果循環(huán)變量等于4,則使用break語(yǔ)句跳出循環(huán)。輸出結(jié)果如下:

Number 1Number 2Number 4

在這個(gè)示例中,循環(huán)變量等于3時(shí),第一個(gè)if語(yǔ)句使用continue語(yǔ)句跳過(guò)此次循環(huán)并繼續(xù)執(zhí)行下一次循環(huán)。當(dāng)循環(huán)變量等于4時(shí),第二個(gè)if語(yǔ)句使用break語(yǔ)句跳出循環(huán)。

關(guān)鍵詞:

參與評(píng)論