for Loop:
Syntax:
for {variable name} in {list}
do
#do statements untill varibles are out of list
{statements/commands}
done
e.g. 1:
[fedora@novice shell_scripts]$ cat > testfor.sh
for i in 1 2 3 4 5
do
echo "welcome $i time(s)"
done
[fedora@novice shell_scripts]$ sh testfor.sh
welcome 1 time(s)
welcome 2 time(s)
welcome 3 time(s)
welcome 4 time(s)
welcome 5 time(s)
Another syntax:
for ((expr1;expr2;expr3))
do
{statements/commands}
#do statements or commands when expr2 is true
done
e.g. 2:
[fedora@novice shell_scripts]$ cat >testfor1.sh
for ((i=0;i<=5;i++))
do
echo "Welcome $i time(s)"
done
[fedora@novice shell_scripts]$ sh testfor1.sh
Welcome 0 time(s)
Welcome 1 time(s)
Welcome 2 time(s)
Welcome 3 time(s)
Welcome 4 time(s)
Welcome 5 time(s)
nested for loop:
e.g.3:
#!/bin/bash
#
#test nested for loop
#
for ((i=1;i<=5;i++))
do
for((j=1;j<=5;j++))
do
echo -n "$i"
done
echo ""
done
[fedora@novice shell_scripts]$ sh nestedfor.sh
11111
22222
33333
44444
55555
e.g. 4:
打印九九乘法表
#!/bin/bash
#
#print chengfabiao
#
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
echo -n "$j * $i =`expr $i \* $j` "
done
echo ""
done
[fedora@novice shell_scripts]$ sh jiujiu.sh
1 * 1 =1
1 * 2 =2 2 * 2 =4
1 * 3 =3 2 * 3 =6 3 * 3 =9
1 * 4 =4 2 * 4 =8 3 * 4 =12 4 * 4 =16
1 * 5 =5 2 * 5 =10 3 * 5 =15 4 * 5 =20 5 * 5 =25
1 * 6 =6 2 * 6 =12 3 * 6 =18 4 * 6 =24 5 * 6 =30 6 * 6 =36
1 * 7 =7 2 * 7 =14 3 * 7 =21 4 * 7 =28 5 * 7 =35 6 * 7 =42 7 * 7 =49
1 * 8 =8 2 * 8 =16 3 * 8 =24 4 * 8 =32 5 * 8 =40 6 * 8 =48 7 * 8 =56 8 * 8 =64
1 * 9 =9 2 * 9 =18 3 * 9 =27 4 * 9 =36 5 * 9 =45 6 * 9 =54 7 * 9 =63 8 * 9 =72 9 * 9 =81
下面还提供了一些练习,有兴趣的可以看看:
阅读(821) | 评论(0) | 转发(0) |