6、循环结构语句

学习目标
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";
 
原文地址:https://www.cnblogs.com/linjiqin/p/3148699.html