我們知道程式無非三種執行方式——順序、條件、迴圈。順序就是一條一條的執行,是一馬平川;條件就是個十字路口,根據條件決定自己的走向;迴圈就是笨驢拉磨,一圈一圈的走,知道達到條件終止。現在集中shell中的迴圈執行。
存在兩個模式:
while do done、until do done模式
基本語法:
##whiledodone
不滿足條件時會終止迴圈
while
[ 條件表示式 ]
do條件滿足時可執行的命令
done
##until
dodone
滿足條件是會終止迴圈
until
[ 條件表示式 ]
do條件不滿足時可執行的命令
done
例子:求1--100之和
#!bin/bashsum=0
i=1while [ "
$i" -le "
100"]do
sum=$(($sum +$i))
i=$(($i+1
))done
echo
"sum(1-100):
" $sum
#!bin/bashsum=0
i=1until [ "
$i" == "
101"]do
sum=$(($sum +$i))
i=$(($i + 1
))done
echo
"sum(1-100):
" $sum
這裡特別強調一下算式最好用這個模式:var=$(($var + 1))
for do done 模式
for((初始值; 條件; 執行步長))
do程式段
done
例子:還是1--100之和
#!bin/bashfor((i=1; i<=100; i++))
dosum=$(($sum +$i))
i=$(($i + 1
))done
echo
"sum(1--100):
" $sum
注意細節:for((初始值; 條件; 執行步長))裡面的預壓和c語言一樣了,但是一點不同雙括號。
更高階點的模式:
for var incon1 con2 con3
do程式段
done
例子:列舉出目錄下的所有檔名
#!bin/bashread -p "
please enter the dir name:
"dirname
list=`ls $dirname
`for
file
in$list
doecho $file
done
注意細節:list=`ls $dirname`,其中的引號不是單引號,是鍵盤1左邊的點號(波浪線下面),它可以使程式執行時優先執行。上面的程式還可以精簡為:
#!bin/bashread -p "
please enter the dir name:
"dirname
forfile
in `ls $dirname`do
echo $file
done
shell程式設計 for迴圈
列表迴圈 1.已知次數 語法 用花括號定義迴圈次數 for variable in do command command done for variable in a b c do command command done 案例 輸出1到5 for i in doecho idone 列印1到50的...
shell 程式設計 for迴圈
for迴圈和while迴圈類似,但是for主要用於執行次數有限的迴圈,而不是守護程序和無限迴圈。for語常見的語法有兩種,下面是例子 第一種是for為變數取值型,語法如下 for 變數名 in 變數取值列表 do 指令 done或 for 變數名 in 變數取值列表 do 指令done此語法我們稱之...
shell程式設計 迴圈
二 shell迴圈 while until 三 expect for i in do useradd user i done bin bash ping ip.txt 清空記錄文字 for i in do 後台執行 done wait 等待前乙個程式執行完畢。在執行下乙個命令。echo finish...