Shell编程-break

137 阅读3分钟

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:

Shell编程-什么是shell

Shell编程-变量

Shell编程-数据类型

Shell编程-逻辑判断

Shell编程-if判断

Shell编程-if和else

Shell编程-while循环

Shell编程-for循环

Shell编程-case

Shell编程-break(本章节)

Shell编程-continue

Shell编程--函数

Shell编程-案例(一)

Shell编程-案例(二)

Shell编程-小结

前面我们说过的无论是while循环还是for循环,它会在达到预设条件以后才会退出循环,而我们有些需求是并不需要全部执行完成所有逻辑,而是在达到一定条件就会自动退出。

在Shell脚本中,break 是一个关键字,用于终止当前所在的循环(forwhileuntil 循环)。它允许脚本在满足某个条件时提前退出循环,而不必等待循环条件自然结束。

使用方法

while condition
do
    # 循环体代码
    if [ some_condition ]; then
        break
    fi
done

或者:

for var in list
do
    # 循环体代码
    if [ some_condition ]; then
        break
    fi
done
  • break 可以在循环体中的任何位置使用。

  • break 被执行时,它会立即终止最近的循环(whileforuntil 循环),并跳出循环体,继续执行循环后的代码。

示例

在 while 循环中使用 break

#!/bin/bash

# 使用 while 循环输出数字,但遇到 5 就停止
number=1
while [ $number -le 10 ]
do
    echo "Number: $number"
    if [ $number -eq 5 ]; then
        break
    fi
    number=$((number + 1))
done

echo "Outside the loop."

在这个示例中,while 循环会输出数字 1 到 5,当 number 的值等于 5 时,执行 break 终止循环,并输出 "Outside the loop."。

在 for 循环中使用 break

#!/bin/bash

# 使用 for 循环输出数组元素,但遇到特定元素时就停止
fruits=("apple" "banana" "cherry" "date")

for fruit in "${fruits[@]}"
do
    echo "Fruit: $fruit"
    if [ "$fruit" = "cherry" ]; then
        break
    fi
done

echo "Outside the loop."

在这个例子中,for 循环会输出数组 fruits 的元素,但当 fruit 的值等于 "cherry" 时,执行 break 终止循环,并输出 "Outside the loop."。

总结

1.break只会退出当前循环,但是并不会退出整个程序,比如代码里面的echo语句还是会执行的。

2.和break相对应的是continue,它只是退出本次循环。

3.有的老师用一个巡楼来说明这个break。比如有8个房间,按照正常的循环,我们从1-1 开始到1-8结束。如果我们在1-6房间里面放置了一个break,当巡楼到1-6房间以后,它就会触发break,后面的1-7和1-8房间就不会巡楼了。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。