zl程序教程

您现在的位置是:首页 >  其他

当前栏目

如何在 Shell 脚本中使用 Break 和 Continue 语句

2023-02-25 18:00:04 时间

在本文中,我们将了解如何在 bash 脚本中使用 break 和 continue 。在 bash 中,我们有三个主要的循环结构(for、while、until)。break 和 continue 语句是 bash 内置的,用于改变循环的流程。这种 break 和 continue 的概念在流行的编程语言(如 Python )中可用。

linuxmi@linuxmi:~/www.linuxmi.com$ type -a break continue
break shell 内建
continue shell 内建

Bash 内置命令

使用 Break 语句退出循环

break 语句将退出循环,并将控制传递给循环中的下一个语句。您可以运行 help 命令来获取有关 break 语句的一些信息。

linuxmi@linuxmi:~/www.linuxmi.com$ help break
break: break [n]
退出 for、while until 循环

退出一个 FOR、WHILE UNTIL 循环。如果指定了N,则跳出N重
循环

退出状态:
退出状态为0除非 N 不大于或等于 1

Break 帮助命令

break 的基本语法。

$ break [n]

n 是可选的

看看下面的例子。这是一个简单的 for 循环,它以 2 的增量步长迭代从 1 到 20 的值范围。条件语句将计算表达式,当表达式为 true 时($val = 9),它将运行 break 语句并且循环将终止,跳过剩余的迭代。

#!/usr/bin/bash
# Linux迷 www.linuxmi.com

for val in {1..20..2}
do
if [[ $val -eq 9 ]]
then
break
else
echo "打印 ${val}"
fi
done

break 语句

使用 continue 语句跳过迭代

如果不想完全退出循环而是在满足某个条件时跳过代码块怎么办?这可以通过 continue 语句来完成。continue 语句会在满足某个条件时跳过代码块的执行,将控制权交还给循环语句进行下一次迭代。

访问帮助:

linuxmi@linuxmi:~/www.linuxmi.com$ help continue
continue: continue [n]
继续 for、while until 循环。

继续当前 FOR、WHILE UNTIL 循环的下一步。
如果指定了 N, 则继续当前的第 N 重循环。

退出状态:
退出状态为 0 除非 N 不大于或等于1

continue 帮助

看看下面的例子。这与我们用来演示 break 语句的示例相同。现在,当 Val 的计算结果为 9 时,continue 语句将跳过所有剩余的代码块,并将控制权传递给 for 循环以进行下一次迭代。

#!/usr/bin/bash
# Linux迷 www.linuxmi.com

for val in {1..20..2}
do
if [[ $val -eq 9 ]]
then
continue
else
echo "打印 ${val}"
fi
done

continue 声明

如果你了解 Python,那么 break 和 continue 的行为在 Python 中也是一样的。但是 Python 提供了一种称为 pass 的循环控制语句。

Pass 就像一个 null 语句,解释器会读取它但不会执行任何操作。它只是导致没有操作。Bash 没有提供类似的语句,但我们可以使用 true 关键字或冒号 (:)来模拟这种行为。true 和冒号都是 shell 内置的,不执行任何操作。

linuxmi@linuxmi:~/www.linuxmi.com$ type -a : true
: shell 内建
true shell 内建
true /usr/bin/true
true /bin/true

True 和 Colon Shell 内置

看看下面的例子。当条件语句被评估为true($val = 9)时,true语句将不执行任何操作,循环将继续。

#!/usr/bin/bash
# Linux迷 www.linuxmi.com

for val in {1..20..2}
do
if [[ $val -eq 9 ]]
then
true
fi
echo "打印 ${val}"
done

Pass 声明