shell中break 与 continue

在学习中我看到不单单有break和continue的存在,还有break -n  和  continue -n 的存在  那么它们有什么区别呢。

这时可以写出测设代码:

for i in a b c d
do
  echo -n $i
  for j in `seq 10`
  do
    if test $j -eq 5
    then
    break//continue,break 2,cotinue 2
    fi
    echo -n $j 

  done

  echo

done

得到的结果为:

break:

  a1234

  b1234

  c1234

  d1234

break 2:

  a1234

continue:

a1234678910

b1234678910

c1234678910

d1234678910

continue 2:

a1234b1234c1234d1234

得到以下结论:

不带参数:

break循环只能退出最内层的循环。

continue只能去掉本次循环的剩余代码

带参数:

break N 可以退出N层循环

continue N 将会把N层循环剩余代码都去掉,单循环次数不变。

时间: 2024-08-04 15:41:55

shell中break 与 continue的相关文章

Java 中break和continue结合标签标示符中断循环示例详解(附源码)

臭名昭著的goto 编程语言中一开始就有goto关键词了.事实上,goto起源于汇编语言的程序控制:"若条件A成立,则跳到这里:否则跳到那里".如果阅读由编译器最终生成的汇编代码,就会发现程序控制里包含了许多跳转.(Java编译器生成它自己的"汇编代码",但是这个代码是运行在Java虚拟机上的,而不是直接运行在CPU硬件上.) goto语句是在源码级上的跳转,这使其招致了不好的声誉.若一个程序总是从一个地方跳到另一个地方,还有什么办法能识别程序的控制流程呢?自从Ed

java中break和continue跳出指定循环(转载)

java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则可以跳出该指定循环(指定循环一般为循环嵌套的外循环). break跳出指定循环示例代码: loop1:for(int x = 0; x < 4; x++) { loop2:for (int y = 0; y < 5 ; y++ ) { System.out.println("x=&quo

循环语句中break 与 continue的区别

循环语句中break 与 continue的区别 总结: 1 break; while循环break是用于永久终止循环.即不执行本次循环中break后面的语句,直接跳出循环. 2continue; while循环continue是用于终止本次循环.即本次循环中continue后面的代码不执行,进行下一次循环的入口判断. #include<stdio.h> //break; int main() { int i = 0; while (i <= 10) { if (i == 5) brea

javascript 中break、 continue、函数不能重载

在javascript中,break与continue有着显著的差别. 如果遇到break语句,会终止最内层循环,无论后面还有多少计算. 如果遇到continue,只会终止此次循环,后面的自循环依然执行. var num = 0; for (var k = 0; k < 3; k++) { for (var i = 0; i < 3; i++) { for (var j = 0; j < 3; j++) { if (i === 1 && j === 1) { break;

Java中break和continue跳出指定循环

在Java中,break和continue可以跳出指定循环,在循环前指定一个标签名称,使用break跳出即可.continue同. 代码如下: (1) 简单的一个continue会退回最内层循环的开头(顶部),并继续执行.        (2) 带有标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环 (3) break会中断当前循环,并移离当前标签的末尾. (4) 带标签的break会中断当前循环,并移离由那个标签指示的循环的末尾. 扩展: Java中,goto语句作为保

java中break、continue及标签等跳转语句的使用[上]

java 中跳转语句使用break.continue和标签,各自或组合完成相应的功能. 今天做题时遇到关于标签命名规范,顺便将跳转语句语法都看了一遍,很有收获. 在<Java编程思想>一书中,作者详细阐述,现将案例代码写在下面: public class LabeledFor { public static void main(String[] args) { int i=0; outer: for(;true;){ inner: for(;i<10;i++){ System.out.p

java中break和continue的区别详解(附源码)

序言 在自己学习java语言的过程中,很容易把break和continue的用法混淆.为了便于以后快速查阅及温习,在此特留学习笔记一份. 简述 在任何迭代语句的主体部分,都可以用break和continue控制循环的流程.其中,break用于强行退出循环,不执行循环中剩余的语句.而continue则停止执行当前迭代,然后退回循环起始处,开始下一次迭代. 源码 下面这个程序向大家展示了break和continue在for和while循环中的例子: package com.mufeng.thefou

delphi中break,continue, exit,abort, halt, runerror的异同

delphi中表示跳出的有break,continue, exit,abort, halt, runerror. 1.break 强制退出循环(只能放在循环中),用于从For语句,while语句或repeat语句中强制退出. 2.continue 用于从For语句,while语句或repeat语句强行结束本次称称循环,并开始下一次循环. 3.exit 用于从当前代码块中退出.若该代码为主程序,则终止该程序,若是函数或过程,则立即该过程或函数. 4.abort 中止程序的运行,产生不报错的异常信息

JAVA中Break与Continue

在使用循环语句的时候,只有当循环条件的表达式为假时,才会跳出循环.有时候我们想提前跳出循环,那么就需要在循环内部使用break或者continue. break可以终止循环和switch语句.一个无标号的break会把控制转移到当前(最内)循环(while,do....while,for或switch)的下一条,如果有标号,会转移到带有该标号的语句处.例如: 1 package com.review.chapter2; 2 3 public class TestBreak { 4 public