在使用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. Linux正则表达式、shell基础、文件查找及打包压缩

    Linux正则表达式.shell基础.文件查找及打包压缩 一.正则表达式 Linux正则表达式分为2类: 1.基本正则表达式(BRE) 2.扩展正则表达式(ERE) 两者的区别: 1.使用扩展正则表达 ...

  2. kill详解

    一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill 等进行.比如一个程序已经死掉 ...

  3. 逆向破解之160个CrackMe —— 006

    CrackMe —— 006 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. python的tkinter,能画什么图?

    今天从下午忙到现在,睡觉. 这个能绘点图的. import json import tkinter as tk from tkinter import filedialog from tkinter ...

  5. 更新GitHub上自己 Fork 的代码与原作者的项目进度一致

    在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有 ...

  6. webpack在nodejs中应用(支持es6语法及热加载)

    安装 npm i webpack webpack-cli @babel/core babel-loader @babel/preset-env @babel/node clean-webpack-pl ...

  7. 题解 UVa10791

    题目大意 多组数据,每组数据给出一个正整数 \(n\),请求出一组数 \(a_1\cdots a_m\),满足 \(LCM_{k=1}^ma_k=n\) 且 \(\sum_{k=1}^ma_k\) 最 ...

  8. js改变this指向

    js中修改this的指向 方法整理 call,apply,bind 以上的三哥方法都是用来改变js中this的指向 call 使用方法:fun.call(thisArg[,arg1[, arg2[, ...

  9. 桥接:JS调用安卓方法报错Uncaught Error: Error calling method on NPObject

    说一说自己粗心踩到的一个不算坑的坑: 项目是安卓webview嵌入SPA单页应用页面,涉及到JS调用原生安卓方法,但就是在调用安卓方法时死活一直报错xxx  NPObject一堆错误.写了一个测试页面 ...

  10. HTML5之contenteditable可编辑属性

    运用contenteditable实现输入框高度自动增加,输入框标题name相对高度自动居中,代码如下: <!DOCTYPE html> <html> <head> ...