循環(huán)可用來使程序的某些部分重復(fù)炬太,shell為循環(huán)提供了while/until/for命令灸蟆。
while命令的語法是:
while commands;do commands;done
while 計(jì)算一系列命令的退出狀態(tài)亲族。只要退出狀態(tài)為零炒考,它就執(zhí)行循環(huán)內(nèi)的命令。
bash 為while循環(huán)提供了兩個(gè)內(nèi)部命令霎迫,它們可以用來在循環(huán)內(nèi)部控制程序流程斋枢。這個(gè)break 命令立即終止一個(gè)循環(huán),且程序繼續(xù)執(zhí)行循環(huán)之后的語句知给。這個(gè)continue 命導(dǎo)致程序跳過循環(huán)中剩余的語句瓤帚,且程序繼續(xù)執(zhí)行下一次循環(huán)描姚。因?yàn)檠h(huán)自己永遠(yuǎn)不會(huì)結(jié)束,所以由我們編程時(shí)在恰當(dāng)?shù)臅r(shí)候提供某種方法來跳出循環(huán)戈次。continue 命令被包含在其它選擇動(dòng)作的末尾轩勘,為的是更加高效執(zhí)行。通過使用continue命令怯邪,當(dāng)一個(gè)選項(xiàng)確定后绊寻,程序會(huì)跳過不需要的代碼。
until 命令與while 非常相似擎颖,除了當(dāng)遇到一個(gè)非零退出狀態(tài)的時(shí)候,while 退出循環(huán)观游,而until 不退出搂捧。一個(gè)until 循環(huán)會(huì)繼續(xù)執(zhí)行直到它接受了一個(gè)退出狀態(tài)零,會(huì)在正確的時(shí)間終止循環(huán)懂缕。
for 循環(huán)不同于while和until 循環(huán),它提供了一種處理序列的方式,在編程時(shí)非常有用允跑。
for循環(huán)格式有兩種:
1.for 變量[in words]; do
commands
done
例如:6016@go:~$ for i in A B C D; do echo $i;done
A
B
C
D
每次循環(huán)執(zhí)行的時(shí)候,就會(huì)有一個(gè)單詞賦值給變量i搪柑。在循環(huán)體內(nèi)聋丝,我們有一個(gè)echo 命令會(huì)顯示i 變量的值,來演示賦值結(jié)果工碾。正如while 和until 循環(huán)弱睦,done 關(guān)鍵字會(huì)關(guān)閉循環(huán)。for 命令真正強(qiáng)大的功能是我們可以通過許多有趣的方式創(chuàng)建words 列表渊额。例如况木,通過花括號(hào)展開:for i in {A..D}或者路徑名展開,或用命令替換旬迹。for 循環(huán)使用的變量可以是任意有效的變量火惊,i 是最常用的一個(gè),其次是j 和k奔垦。
2.C語言格式
for (( expression1; expression2; expression3 )); do
commands
done
其中expression1屹耐,expression2,和expression3 都是算術(shù)表達(dá)式椿猎,commands 是每次循環(huán)迭代時(shí)要執(zhí)行的命令惶岭。
例如:腳本為:
!/bin/bash
simple_counter : demo of C style for command
for (( i=0; i<5; i=i+1 )); do
echo $i
done
輸出為:
6016@go:~$ simple_counter
0
1
2
3
4
5
C 語言格式的for 循環(huán)對(duì)于需要一個(gè)數(shù)字序列的情況很有用處。
毫無疑問犯眠,流程控制的while俗他、until和for循環(huán)為系統(tǒng)命令的執(zhí)行提供了很大的方便。
學(xué)習(xí)了linux課程一個(gè)學(xué)期了阔逼,整體知識(shí)層面的也差不多告一段落兆衅,無疑的是linux拓展了我的知識(shí)面,學(xué)習(xí)使用了第二個(gè)系統(tǒng),感受到了科技的魅力羡亩。