文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-13 16:59

关注

在本文中,我们将了解如何在 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 声明

来源:Linux迷内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯