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)鍵詞: