在使用while或for循环语句过程中,也许碰到某个特殊条件,我们需要跳过当次循环或整个循环,这是就需要借助break和continue。

  break表示跳出本层循环,break n表示跳出循环的层数。continue表示跳过本次循环,continue n表示跳过n次循环。

  实例如下:

[root@youxi1 ~]# vim a.sh
#!/bin/bash
for ((i=0;i<=4;i++)) ; do
echo $i
case $i in
1)
echo "This is one"
;;
2)
continue
echo "This is two"
;;
3)
break
echo "This is three"
;;
4)
echo "This is four"
;;
esac
done
[root@youxi1 ~]# sh a.sh
0  #0的时候没有匹配项
1
This is one
2  #2的时候跳过了当前循环
3  #3的时候直接退出了循环

  多层循环嵌套实例:

[root@youxi1 ~]# vim a.sh
#!/bin/bash
for ((i=1;i<10;i++)) ; do
for ((j=1;j<=i;j++)) ; do
if [ j -eq 4 ] ; then
continue
fi
for ((k=1;k<=j;k++)) ; do
if [ k -gt 5 ] ; then
break 2
fi
echo -n $i"*"$j"*"$k"="$[i*j*k]" "
done
done
echo
done
[root@youxi1 ~]# sh a.sh
1*1*1=1
2*1*1=2 2*2*1=4 2*2*2=8
3*1*1=3 3*2*1=6 3*2*2=12 3*3*1=9 3*3*2=18 3*3*3=27
4*1*1=4 4*2*1=8 4*2*2=16 4*3*1=12 4*3*2=24 4*3*3=36
5*1*1=5 5*2*1=10 5*2*2=20 5*3*1=15 5*3*2=30 5*3*3=45 5*5*1=25 5*5*2=50 5*5*3=75 5*5*4=100 5*5*5=125
6*1*1=6 6*2*1=12 6*2*2=24 6*3*1=18 6*3*2=36 6*3*3=54 6*5*1=30 6*5*2=60 6*5*3=90 6*5*4=120 6*5*5=150 6*6*1=36 6*6*2=72 6*6*3=108 6*6*4=144 6*6*5=180
7*1*1=7 7*2*1=14 7*2*2=28 7*3*1=21 7*3*2=42 7*3*3=63 7*5*1=35 7*5*2=70 7*5*3=105 7*5*4=140 7*5*5=175 7*6*1=42 7*6*2=84 7*6*3=126 7*6*4=168 7*6*5=210
8*1*1=8 8*2*1=16 8*2*2=32 8*3*1=24 8*3*2=48 8*3*3=72 8*5*1=40 8*5*2=80 8*5*3=120 8*5*4=160 8*5*5=200 8*6*1=48 8*6*2=96 8*6*3=144 8*6*4=192 8*6*5=240
9*1*1=9 9*2*1=18 9*2*2=36 9*3*1=27 9*3*2=54 9*3*3=81 9*5*1=45 9*5*2=90 9*5*3=135 9*5*4=180 9*5*5=225 9*6*1=54 9*6*2=108 9*6*3=162 9*6*4=216 9*6*5=270

  

shell中跳出循环语句break和continue的更多相关文章

  1. centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课

    centos  shell脚本编程2 if 判断  case判断   shell脚本中的循环  for   while   shell中的函数  break  continue  test 命令   ...

  2. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  3. js中退出语句break,continue和return 比较(转)

    原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...

  4. (二)shell中case语句、程序传参、while

    2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...

  5. 跳转语句Break、continue

    跳转语句Break.continue 1.break -跳出 作用范围:switch或循环语句; -当break语句单独存在时,下面不需要定义其他语句,因为直接被跳出,不执行下面的语句. -break ...

  6. js跳出循环:break 、continue 、return

    js跳出循环:break .continue .return 本文虽然讲的是js里跳出循环的方法,但是jquery其实就是在js的基础上封装而来的,所以一些js里的语法应用,在jquery里也是通用的 ...

  7. js中退出语句break,continue和return 比较 (转载)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  8. js中退出语句break,continue和return 比较 (转)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  9. javascript中退出语句break,continue和return 比较

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止. 首先:break和continue两个 ...

随机推荐

  1. MySQL/MariaDB数据库的查询缓存优化

    MySQL/MariaDB数据库的查询缓存优化 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL架构 Connectors(MySQL对外提供的交互接口,API): ...

  2. Java 出现cannot be resolved to a type

    package com.sysutil.util; /* thishi duo zhu */ // dan zhshi import com.sysutil.util.*; class Example ...

  3. .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题

    作者: zyl910 一.缘由 项目规模大了后,经常会出现源码文件分布在不同目录的情况,但.NET Core项目默认只有项目目录下的源码文件,且不支持“Add As Link”方式引入文件.这时需要手 ...

  4. 2019-2020-1 20199301《Linux内核原理与分析》第九周作业

    第八章 进程的切换和系统的一般执行过程 进程的调度实际与进程的切换 ntel定义的中断类型 硬中断:就是CPU的两根引脚(可屏蔽中断和不可屏蔽中断) 软中断/异常:包括除零错误.系统调用.调试断点等在 ...

  5. Ranger安装部署

    1. 概述 Apache Ranger是大数据领域的一个集中式安全管理框架,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理.用户可以通过Ranger实现对集群中数据的安全 ...

  6. 数据库jdbc链接:mysql, oracle, postgresql

    #db mysql#jdbc.driver=com.mysql.jdbc.Driver#jdbc.url=jdbc:mysql://localhost:3306/mysql?&useUnico ...

  7. php for循环遍历索引数组

    遍历二字,从字面解释就是一个接一个全读访问一次,显示出来. 因为for循环是一个单纯的计数型循环,而索引数组的下标为整型的数值.因此,我们可以通过for循环来遍历索引数组. 我们知道索引数组下标为整型 ...

  8. 关于dword ptr 指令

    dword 双字 就是四个字节ptr pointer缩写 即指针[]里的数据是一个地址值,这个地址指向一个双字型数据比如mov eax, dword ptr [12345678] 把内存地址12345 ...

  9. 3-ESP8266 SDK开发基础入门篇--点亮一个灯

    https://www.cnblogs.com/yangfengwu/p/11072834.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevel ...

  10. PHP-FPM config 文件生产环境

    ;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] pid = run/php-fpm.pid error_log = ...