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 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。