在 Shell 脚本中,也支持循环的嵌套。
示例:打印九九乘法表
[root@openEuler ~]# cat ninetable.sh
#!/bin/bash
for i in `seq 9`
do
for j in `seq 9`
do
#[ $j -le $i ] && echo -n "$i*$j = `expr $i \* $j` "
[ $j -le $i ] && echo -n "$i*$j = `echo $((i*j))` "
done
echo " "
done
[root@openEuler ~]# bash ninetable.sh
1*1 = 1
2*1 = 2 2*2 = 4
3*1 = 3 3*2 = 6 3*3 = 9
4*1 = 4 4*2 = 8 4*3 = 12 4*4 = 16
5*1 = 5 5*2 = 10 5*3 = 15 5*4 = 20 5*5 = 25
6*1 = 6 6*2 = 12 6*3 = 18 6*4 = 24 6*5 = 30 6*6 = 36
7*1 = 7 7*2 = 14 7*3 = 21 7*4 = 28 7*5 = 35 7*6 = 42 7*7 = 49
8*1 = 8 8*2 = 16 8*3 = 24 8*4 = 32 8*5 = 40 8*6 = 48 8*7 = 56 8*8 = 64
9*1 = 9 9*2 = 18 9*3 = 27 9*4 = 36 9*5 = 45 9*6 = 54 9*7 = 63 9*8 = 72 9*9 = 81
示例:打印三角形
[root@openEuler ~]# cat triangle.sh
#!/bin/bash
for i in {1..9}
do
for ((col=1;col<10-i;col++))
do
echo -n " "
done
for ((k=1; k<=i; k++))
do
echo -n "$i "
done
echo " "
done
[root@openEuler ~]# bash triangle.sh
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9