多重for循环嵌套以及跳出循环的方法(break、exit、continue)
一、多重循环
1、双重循环
1.1 格式
#/bin/bash #Double loop for ((i=1;i<=6;i++)) do echo "外循环为:$i" for ((j=1;j<=3;j++)) do echo "--内循环为:$j" done done
1.2 实例操作
2、三重循环
2.1 格式
#/bin/bash #Multiple loop for ((i=1;i<=2;i++)) do echo "外循环为:$i" for ((j=1;j<=2;j++)) do echo "--内循环为:$j" for ((k=1;k<=2;k++)) do echo "----内2循环为:$k" done done done
2.2 实例操作
3、多重循环
3.1 格式
#/bin/bash #Multiple loop for ((i=1;i<=2;i++)) do echo "外循环为:$i" for ((j=1;j<=2;j++)) do echo "--内循环为:$j" for ((k=1;k<=2;k++)) do echo "----内2循环为:$k" for ((l=1;l<=2;l++)) do echo "------内3循环为:$l" done done done done
3.2 实例操作
二、循环语句中的break
1、break的使用
当满足条件的情况下break会跳出当前循环体
2、当直接break时
表示跳出该层循环
2.1 格式
#/bin/bash #Multiple loop for ((i=1;i<=2;i++)) do echo "外循环为:$i" for ((j=1;j<=2;j++)) do echo "--内循环为:$j" for ((k=1;k<=2;k++)) do echo "----内2循环为:$k" if [ $k -eq 1 ];then break fi for ((l=1;l<=2;l++)) do echo "------内3循环为:$l" done done done done
2.2 实例操作
3、当break +数字时
当直接break时,默认数字为1,即条件满足时跳出当前循环
例如:break 2 即表示跳出两层循环
3.1 格式
#/bin/bash #Multiple loop for ((i=1;i<=2;i++)) do echo "外循环为:$i" for ((j=1;j<=2;j++)) do echo "--内循环为:$j" for ((k=1;k<=2;k++)) do echo "----内2循环为:$k" for ((l=1;l<=2;l++)) do echo "------内3循环为:$l" if [ $l -eq 1 ];then break 3 fi done done done done
3.2 实例操作
三、循环语句中的continue
continue中止某次循环中的命令,但不会完全中止整个命令
注意:while 多重循环中使用continue要慎重,位置如果放的不对,则会导致死循环
1、格式
#!/bin/bash #Multiple loop for ((i=1;i<=3;i++)) do echo "外循环为:$i" for ((j=1;j<=10;j++)) do if [ $j -gt 3 -a $j -lt 9 ];then continue fi echo "---内循环为:$j" done done
2、实例操作
四、shell脚本中的exit
当满足条件的情况下exit会直接退出当前脚本
1、格式
#!/bin/bash #Multiple loop for ((i=1;i<=3;i++)) do echo "外循环为:$i" for ((j=1;j<=10;j++)) do if [ $j -gt 3 -a $j -lt 9 ];then #continue exit fi echo "---内循环为:$j" done done
2、实例操作
将本人在工作学习中的一些知识记录并分享