文章目录
嵌套循环(在一个循环体内包含其他循环)
利用循环嵌套编写的九九乘法表
for (( i=1; i<=9; i++ ))
do
for (( j=1; j<=i; j++ ))
do
let "he=i*j"
echo -n "$i*$j=$he "
done
echo ""
done
[root@localhost ~]# sh ceshi.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
利用循环嵌套编写8*8的围棋棋盘
for (( i=1; i<=9; i++ ))
do
for (( j=1; j<=8; j++ ))
do
let "x=i+j"
let "tmp=x%2"
if [ "$tmp -eq 0" ];then
echo -ne "\033[47m"
else
echo -ne "\033[40m"
fi
done
echo ""
done
#在这里无法展示效果,可以参考棋盘的样子,一个白一个黑
循环控制符(linux的shell编程中,有时需要立即从循环中退出)
break #如果是退出循环可以使用它
continue #退出本次循环,执行后续循环
break循环的两个例子
for (( i=1; i<=9; i++ ))
do
for (( j=1; j<=i; j++ ))
do
let "he=i*j"
if [ "$he" -eq 7 ];then
break
fi
echo -n "$i*$j=$he "
done
echo ""
done
[root@localhost ~]# sh ceshi.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
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
for (( i=1; i<=9; i++ ))
do
if [ "$i" -eq 7 ];then
break
fi
for (( j=1; j<=i; j++ ))
do
let "he=i*j"
echo -n "$i*$j=$he "
done
echo ""
done
[root@localhost ~]# sh ceshi.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
continue例子
for (( i=1; i<=9; i++ ))
do
for (( j=1; j<=i; j++ ))
do
let "he=i*j"
if [ "$he" -eq 7 ];then
continue
fi
echo -n "$i*$j=$he "
done
echo ""
done
[root@localhost ~]# sh ceshi.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*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
select结构(用于交互式菜单,它比case多了交互性)
select variable in {list}
do
command
........
break
done
例子:设计一个交互式菜单
echo "请输入一个颜色单词"
select color in "red" "black" "green" "white" "blue"
do
break
done
echo "你输入的颜色是$color"
[root@localhost ~]# sh ceshi.sh
请输入一个颜色单词
1) red
2) black
3) green
4) white
5) blue
#? 3
你输入的颜色是green
[root@localhost ~]#
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论