for 循環(huán)不同于while和until 循環(huán)辕录,因為在循環(huán)中,它提供了一種處理序列的方式导绷。這證明在編程時非常有用。因此在bash 腳本中屎飘,for 循環(huán)是非常流行的構(gòu)造妥曲。
1.for:傳統(tǒng)shell格式
for variable [in words];do
commands
done
#variable 是一個變量的名字,words 是一個可選的條目列表贾费,其值會按順序賦值給variable,commands 是在每次循環(huán)迭代中要執(zhí)行的命令
for 命令真正強大的功能是我們可以通過許多有趣的方式創(chuàng)建words 列表檐盟。例如褂萧,通過花括
號展開:
for i in {A..D};do echo $i;done
A
B
C
D
或者路徑名展開:
for i in distros*.txt;do echo $i;done
distros-by-date.txt
distros-dates.txt
distros-key-names.txt
distros-key-vernums.txt
2.for:C語言格式
最新版本的bash 已經(jīng)添加了第二種格式的for 命令語法,該語法相似于C 語言中的for 語
法格式葵萎。
for ((expression1;expression2;expression3));do
commands
done
#這里的expression1导犹,expression2,和expression3 都是算術(shù)表達式羡忘,commands 是每次循環(huán)
迭代時要執(zhí)行的命令,expression1 用來初始化循環(huán)條件谎痢,expression2 用來決定循環(huán)結(jié)束的時間,還有在每次循環(huán)迭代的末尾會執(zhí)行expression3.
#!/bin/bash
for ((i=0;i<5;i=i+1));do
echo $i
done
#卷雕,expression1 初始化變量i 的值為0节猿,expression2 允許循環(huán)繼續(xù)執(zhí)行只要變量i 的值小于5,還有每次循環(huán)迭代時爽蝴,expression3 會把變量i 的值加1沐批。
拓展資料
- 《高級Bash 腳本指南》有一章關(guān)于循環(huán)的內(nèi)容,其中列舉了各種各樣的for 循環(huán)實例:
http://tldp.org/LDP/abs/html/loops1.html- 《Bash 參考手冊》描述了循環(huán)復(fù)合命令蝎亚,包括了for 循環(huán):
http://www.gnu.org/software/bash/manual/bashref.html#Looping-Constructs