← 返回首页
Linux高级程序设计(十三)
发表时间:2021-11-06 15:05:59
break与continue

1.break

使用 while、until、for 循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用 break 或者 continue 关键字。

break n

n 表示跳出循环的层数,如果省略 n,则表示跳出当前的整个循环。

实例:

#!/bin/bash
declare -i sum
for ((i=1; i<=100; i++))
  do
    sum+=i
    if [ $i -eq 10 ];then
      break;
    fi
  done
echo "The sum is: $sum"

测试运行:

[root@iz2zefozq9h39txdb8s7npz shelldemo]# ./test.sh
The sum is: 55

2.continue

continue n

n 表示循环的层数: - 如果省略 n,则表示 continue 只对当前层次的循环语句有效,遇到 continue 会跳过本次循环,忽略本次循环的剩余代码,直接进入下一次循环。 - 如果带上 n,比如 n 的值为 2,那么 continue 对内层和外层循环语句都有效,不但内层会跳过本次循环,外层也会跳过本次循环,其效果相当于内层循环和外层循环同时执行了不带 n 的 continue。这么说可能有点难以理解,稍后我们通过代码来演示。

实例:

#!/bin/bash
declare -i sum
for ((i=1; i<=100; i++))
  do
    if [ $i -eq 10 ];then
      continue;
    fi
    sum+=i
  done
echo "The sum is: $sum"

测试运行:

[root@iz2zefozq9h39txdb8s7npz shelldemo]# ./test.sh
The sum is: 5040

3.break与continue的区别

break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。