6、迴圈結構語句

Ruthless發表於2013-06-21

學習目標
Shell的迴圈語句
Shell常見的迴圈語句有for迴圈、while迴圈語句和until迴圈。

12-6-1 for迴圈
語法:

for 變數 in 列表
do
    操作
done
 

注意:變數要在迴圈內部用來指列表當中的物件。
列表是在for迴圈的內部要操作的物件,可以是字串也可以是檔案,如果是檔案則為檔名。
例項:在列表中的值:a,b,c,e,I,2,4,6,8用迴圈的方式把字元與數字分成兩行輸出。

root@ubuntu:/home/study# vi test5
#! /bin/bash
 
for i in a,b,c,e,I  2,4,6,8
do
    echo $i
done
 

注意: 在迴圈列表中的空格可表示換行。
root@ubuntu:/home/study# chmod +x test5
root@ubuntu:/home/study# ./test5
a,b,c,e,I
2,4,6,8

例項:求從1~100的和。

#! /bin/bash
 
total=0;
for((j=1;j<=100;j++))
do
    total=`expr $total + $j`;
done
echo "The result is $total";
 

注意:for語句中的雙括號不能省,最後的分號可有可無,表示式total=`expr $total + $j`的加號兩邊的空格不能省,否則會成為字串的連線。

12-6-2 while迴圈
語法:

while 表示式
do
     操作
done
 

只要表示式為真,do和done之間的操作就一直會進行。
例項:用while迴圈求1~100的和。

#! /bin/bash
 
total=0;
num=0;
while((num<=100))
do
    total=`expr $total + $num`;
    num=`expr $num + 1`;
done
echo "The result is $total";
 

12-6-3 until迴圈
語法:

until 表示式
do
     操作
done
 

注意:重複do和done之間的操作直到表示式成立為止。

例項:用until迴圈求1~100的和。

#! /bin/bash
 
total=0;
num=0;
until [ $num –gt 100 ]
do
    total=`expor $total + $num`;
    num=`expr $num + 1`;
done
echo "The result is $total";

 

 

相關文章