Bash 中断并继续

2023-10-27

循环允许您多次运行一个或多个命令,直到满足特定条件。但是,有时您可能需要更改循环流程并终止循环或仅终止当前迭代。

在巴什中,break and continue语句允许您控制循环执行。

Bash break陈述#

The break语句终止当前循环并将程序控制传递给终止循环后面的命令。它用于退出for, while, until , or select环形。 s 的语法break声明采用以下形式:

break [n]

[n]是一个可选参数,并且必须大于或等于 1。当[n]提供后,将退出第 n 个封闭循环。break 1相当于break.

为了更好地理解如何使用break声明,我们来看看下面的例子。

在下面的脚本中,执行while 循环一旦当前迭代项等于2:

i=0

while [[ $i -lt 5 ]]
do
  echo "Number: $i"
  ((i++))
  if [[ $i -eq 2 ]]; then
    break
  fi
done

echo 'All Done!'
Number: 0
Number: 1
All Done!

这是一个使用的示例break嵌套语句for 循环 .

当争论时[n]没有给出,break终止最内层的封闭循环。外层循环没有终止:

for i in {1..3}; do
  for j in {1..3}; do
    if [[ $j -eq 2 ]]; then
      break
    fi
    echo "j: $j"
  done
  echo "i: $i"
done

echo 'All Done!'
j: 1
i: 1
j: 1
i: 2
j: 1
i: 3
All Done!

如果想退出外循环,可以使用break 2。争论2 tells break终止第二个封闭循环:

for i in {1..3}; do
  for j in {1..3}; do
    if [[ $j -eq 2 ]]; then
      break 2
    fi
    echo "j: $j"
  done
  echo "i: $i"
done

echo 'All Done!'
j: 1
All Done!

Bash continue陈述#

The continue语句跳过当前迭代的封闭循环体内的剩余命令,并将程序控制传递给循环的下一次迭代。

的语法continue声明如下:

continue [n]

The [n]参数是可选的,并且可以大于或等于 1。当[n]给定后,将恢复第 n 个封闭循环。continue 1相当于continue.

在下面的示例中,一旦当前迭代项is equal to 2, the continue语句将导致执行返回到循环的开头并继续下一次迭代。

i=0

while [[ $i -lt 5 ]]; do
  ((i++))
  if [[ "$i" == '2' ]]; then
    continue
  fi
  echo "Number: $i"
done

echo 'All Done!'
Number: 1
Number: 3
Number: 4
Number: 5
All Done!

以下脚本打印数字1通过50可以被整除9.

如果一个数不能被整除9, the continue语句跳过echo命令并将控制传递给循环的下一次迭代。

for i in {1..50}; do
  if [[ $(( $i % 9 )) -ne 0 ]]; then
    continue
  fi
  echo "Divisible by 9: $i"
done
Divisible by 9: 9
Divisible by 9: 18
Divisible by 9: 27
Divisible by 9: 36
Divisible by 9: 45

结论#

循环是编程语言的基本概念之一。在 Bash 等脚本语言中,循环对于自动执行重复任务非常有用。

The break语句用于退出当前循环。这continue语句用于退出循环的当前迭代并开始下一次迭代。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 中断并继续 的相关文章

随机推荐

  • Anaconda使用conda管理技巧汇总

    0 conda概述 如果你以前使用pip和virtualenv 使用conda你可以完成所有的操作 pip是一个包管理器而virtualenv是一个环境管理器 Conda兼具两者的功能 Task Conda package and envi
  • web前端基础(一)——HTML+CSS

    系列文章目录 web前端基础 一 HTML CSS 目录 系列文章目录 前言 HTML HTML的介绍 1 html的定义 2 html的作用 HTML的基本结构 1 结构代码 2 浏览网页文件 vscode的下载与使用 1 vscode
  • matlab实现大律法,Otsu算法(大律法或最大类间方差法)

    Otsu算法 大律法或最大类间方差法 2013 03 07 10 54 02 Otsu算法 大律法或最大类间方差法 一 Otsu最大类间方差法原理 利用阈值将原图像分成前景 背景两个图象 前景 用n1 csum m1来表示在当前阈值下的前景
  • 在 Docker 内运行 Cronjob:初学者指南

    当涉及到按设定的时间间隔自动运行或可以由另一个事件触发的调度作业和程序时 您有很多选择 您可以使用通用实用程序 如 cron macOS 或 Linux 中的内置调度程序 或专用工具 如 AWS Lambda Cron 虽然不如 AWS L
  • 如何在 Python 中安装 OpenCV

    OpenCV 开源计算机视觉 是一个免费的开源计算机视觉和机器学习算法库 可用于处理和分析图像和视频 它广泛用于各种应用 包括对象检测 图像和视频处理以及增强现实 在本文中 我们将介绍在 Python 中安装 OpenCV 的两种不同方法
  • 如何在 Ubuntu 20.04 上安装 PHP(8.1、7.4 和 5.6)

    在本文中 我们将了解如何在 Ubuntu 操作系统上安装 PHP 脚本语言 PHP 脚本语言是创建动态网站最流行的选项之一 它也用于各种其他环境 它是一种开源编程语言 代表 PHP 超文本预处理器 我们稍后会解释所有这些意味着什么 如果您需
  • Magento 2 性能优化技巧

    随着科技的进步 人们的注意力持续时间在缩短 eBay 旗下的 Magento 是当今用于发展在线业务的最广泛使用的电子商务平台之一 虽然 在选择电子商务 CMS 或平台 例如 WooCommerce Shopify 等 时 您有很多选择 但
  • 如何使用 PHP 获取头像

    当您创建应用程序并希望在其个人资料图片上显示用户的图像时 这可能是您从 Gravatar 帐户获取用户图像的更好选择 我们可以从那里简单地使用他们的电子邮件地址获取图像
  • 如何使用 Wget 忽略 SSL 证书检查

    Wget 是一个免费且功能强大的实用程序 可通过 Cygwin 适用于大多数类 Unix 操作系统 包括 Linux Mac 和 Windows 它允许您使用各种协议 例如 HTTP HTTPS 和 FTP 从服务器检索文件和网页 但是 在
  • 将 Bash 脚本转换为二进制

    Bash shell 是类 Unix 操作系统的主要组成部分 以其脚本化能力而广为人知 然而 这些脚本通常存储为纯文本文件 因此很容易受到检查和更改 在某些情况下 您可能希望将这些 Bash 脚本转换为二进制格式 以提高安全性 效率和可移植
  • 如何在 Ubuntu 上使用 Apache 安装 Mod_Pagespeed

    网站速度缓慢是大多数软件工程师和系统管理员面临的主要问题 他们不断尝试通过各种方式优化速度 那么问题来了 如何提高网站速度呢 提高网站速度的最佳方法是什么 Google 为 Apache 用户提供了 mod pagespeed 模块 可通过
  • 如何在 Linux 中将 PDF 转换为图像

    在本文中 您将学习如何在 Linux 命令行界面中将 PDF 文件转换为图像 Pdftoppm 将可移植文档格式 PDF 文件转换为彩色图像文件 如 PNG JPG 等 Pdftoppm 读取 PDF 文件并为每一页创建一个 PPM 图像
  • 如何在 Ubuntu 18.04 上安装 MySQL 8.0

    MySQL 是最流行的关系数据库管理系统 假设互联网上运行的网站中有三分之一使用 MySQL MySQL 官方团队提供了 MySQL 8 的 Debian 软件包 以便在 Ubuntu 系统上安装 本教程将帮助您在 Ubuntu 18 04
  • 在 CentOS 5/6 和 RHEL 5/6 上安装 PostgreSQL 9.1

    PostgreSQL 是一个开源的对象关系型 高度可扩展 兼容 SQL 的数据库管理系统 本文将帮助您在 CentOS 5 6 和 RHEL 5 6 上安装 PostgreSQL 9 1 第1步 添加 PostgreSQL Yum 存储库
  • 如何使用 PowerShell 从 Windows 命令行发送电子邮件

    发送电子邮件是当今数字时代的一项基本任务 作为系统管理员 您可能需要从命令行发送电子邮件以自动执行此任务 在本文中 我们将向您展示如何使用 PowerShell 从 Windows 命令行发送电子邮件 从而简化您的电子邮件通信并提高您的工作
  • 如何在 Ubuntu 20.04 上安装 Elasticsearch

    Elasticsearch 是一个开源分布式全文搜索和分析引擎 它支持 RESTful 操作 允许您实时存储 搜索和分析大量数据 Elasticsearch 是最流行的搜索引擎之一 为具有复杂搜索要求的应用程序 例如大型电子商务商店和分析应
  • Bash while 循环

    循环是编程语言的基本概念之一 当您想要多次运行一系列命令直到满足特定条件时 循环会很方便 在 Bash 等脚本语言中 循环对于自动执行重复任务非常有用 Bash 脚本中有三种基本的循环结构 for loop while循环 并且直到循环 本
  • 在 Python 中解析 JSON 数据

    JSON 是一种人类可读的基于文本的数据格式 它与语言无关 用于应用程序之间的数据交换 在本文中 我们将解释如何在 Python 中解析 JSON 数据 Python JSON The json允许您对 JSON 数据进行编码和解码的模块是
  • 如何在 CentOS 7 上安装 Google Chrome 网络浏览器

    谷歌浏览器是世界上使用最广泛的网络浏览器 它是专为现代网络构建的快速 易于使用且安全的浏览器 Chrome 不是开源浏览器 也不包含在 CentOS 存储库中 它是基于Chromium 一个开源浏览器 可在EPEL 存储库 本教程介绍如何在
  • Bash 中断并继续

    循环允许您多次运行一个或多个命令 直到满足特定条件 但是 有时您可能需要更改循环流程并终止循环或仅终止当前迭代 在巴什中 break and continue语句允许您控制循环执行 Bash break陈述 The break语句终止当前循