如何在 Shell 脚本中使用 Break 和 Continue 语句
在本文中,我们将了解如何在 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 内建
使用 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 [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
使用 continue 语句跳过迭代
如果不想完全退出循环而是在满足某个条件时跳过代码块怎么办?这可以通过 continue 语句来完成。continue 语句会在满足某个条件时跳过代码块的执行,将控制权交还给循环语句进行下一次迭代。
访问帮助。
linuxmi@linuxmi:~/www.linuxmi.com$ help continue
continue: continue [n]
继续 for、while 或 until 循环。
继续当前 FOR、WHILE 或 UNTIL 循环的下一步。
如果指定了 N, 则继续当前的第 N 重循环。
退出状态:
退出状态为 0 除非 N 不大于或等于1
看看下面的例子。这与我们用来演示 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
如果你了解 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($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
OK,这就是本文的内容。如果还有什么疑问,请在下面的评论区告诉我们。
The post 如何在 Shell 脚本中使用 Break 和 Continue 语句 first appeared on Linux迷.
共有 0 条评论