新聞中心
循環(huán)是編程語言的基本概念之一。當你想要一遍又一遍地運行一系列命令直到達到某個條件后終止退出時,循環(huán)很方便。

公司主營業(yè)務:成都網站建設、做網站、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出宿州免費做網站回饋大家。
在諸如 Bash 之類的腳本語言中,循環(huán)對于自動執(zhí)行重復性任務非常有用。在 Bash 腳本中有3個基本的循環(huán)結構,for 循環(huán), while 循環(huán),until 循環(huán)。
Bash while 循環(huán)
只要給定條件的計算結果為true,while循環(huán)就會使用一組給定的命令執(zhí)行未知次數(shù)。
Bash while循環(huán)采用以下形式:
while [CONDITION]
do
[COMMANDS]
done
在執(zhí)行命令之前評估條件。如果條件計算結果為true,則執(zhí)行命令。否則,如果條件的計算結果為false,則循環(huán)將終止,程序控制將傳遞給后面的命令。
在下面的示例中,在每次迭代時,循環(huán)打印變量的當前值并將變量i遞增1。
i=0
while [ $i -le 2 ]
do
echo Number: $i
((i++))
done
只要i小于或等于2,Tue循環(huán)就會迭代。它將產生以下輸出:
Number: 0
Number: 1
Number: 2
無限while循環(huán)
無限循環(huán)是一個無限重復且永不終止的循環(huán)。如果條件總是計算為true,則會得到無限循環(huán)。
在下面的示例中,我們使用內置命令:,該命令始終返回true以創(chuàng)建無限循環(huán)。您還可以使用true內置命令或始終返回true的任何其他語句。
while :
do
echo "Press to exit."
sleep 1
done
上面的while循環(huán)將無限期地運行。您可以按下來終止循環(huán)CTRL+C。
這是一個單行等價物:
while :; do echo 'Press to exit.' ; sleep 1; done
逐行讀取文件
while循環(huán)最常見的用法之一是逐行讀取文件,數(shù)據(jù)流或變量。
在下面的示例中,while循環(huán)將/etc/passwd逐行讀取文件并打印每一行。
file=/etc/passwd
while read -r line; do
echo $line
done "$file"
我們使用輸入重定向(
當逐行讀取文件中的行始終使用read與-r選項,以防止反斜線作為轉義字符。
默認情況下,該read命令修剪前導/尾隨空格字符(空格和制表符)。使用命令IFS=前的選項read可以防止此行為
file=/etc/passwd
while IFS= read -r line; do
echo $line
done "$file"
break和continue語句
break和continue語句可用于控制while循環(huán)執(zhí)行。
break語句
break語句終止當前循環(huán)并將程序控制傳遞給終止循環(huán)后面的命令。它通常用于在滿足某個條件時終止循環(huán)。
在下面的示例中,一旦當前迭代項等于,將中斷循環(huán)的執(zhí)行2。
i=0
while [ $i -lt 5 ]
do
echo "Number: $i"
((i++))
if [[ "$i" == '2' ]]; then
break
fi
done
echo 'All Done!'
Number: 0
Number: 1
All Done!
continue語句
continue語句退出循環(huán)的當前迭代,并將程序控制傳遞給循環(huán)的下一次迭代。
在下面的內容中,一旦當前迭代項等于2continue語句,將導致執(zhí)行返回到循環(huán)的開始并繼續(xù)下一次迭代。
i=0
while [ $i -lt 5 ]
do
((i++))
if [[ "$i" == '2' ]]; then
continue
fi
echo "Number: $i"
done
echo 'All Done!'
Number: 1
Number: 3
Number: 4
Number: 5
All Done!
當前標題:講解一下Bash中的while循環(huán)
轉載來源:http://m.5511xx.com/article/dppsshi.html


咨詢
建站咨詢
