Bash For 循环

17 Mar 2025 | 4 分钟阅读

在本主题中,我们将了解 Bash 脚本中 for 循环 的用法。

与其他任何编程语言一样,bash shell 脚本也支持“for 循环”来执行重复性任务。 它有助于我们遍历字符串中的一系列单词或数组中的元素。 例如,您可以多次运行 UNIX 命令(或任务),或者仅使用“for 循环”读取和处理命令列表。

For 循环的语法

我们可以通过两种方式在 bash 脚本上应用“for 循环”。 一种方式是“for-in”,另一种方式是 c 风格的语法。 以下是 bash shell 脚本中“for 循环”的语法

以下是“for 循环”语句的一些要点

  • bash 中的“for 循环”的每个块都以“do”关键字开头,后跟块内的命令。 “for 循环”语句由“done”关键字关闭。
  • “for 循环”将迭代的次数取决于声明的列表变量。
  • 循环将从列表中选择一个项目,并将该值分配给将在循环中使用的变量。
  • 在“do”和“done”之间的命令执行后,循环将返回到顶部并从列表中选择下一项并重复整个过程。
  • 列表可以包含数字或字符串等,用空格分隔。

下面给出了一些“for 循环”示例来说明它们是如何工作的

基本“For 循环”示例

Bash 脚本

输出

Bash For Loop

For 循环读取范围

Bash 脚本

输出

Bash For Loop

For 循环读取带有增量/减量的范围

我们可以通过添加另外两个点(..)和要递增的值来增加或减少指定值,例如 {START..END..INCREMENT}。 查看下面的示例

用于递增

输出

Bash For Loop

用于递减

输出

Bash For Loop

For 循环读取数组变量

我们可以使用“for 循环”来迭代数组的值。

语法可以定义为

输出

对于“array”中的每个元素,将执行从“do”到“done”的语句或命令集。 可以在循环内将每个元素访问为“i”。 查看下面的示例,解释使用“for 循环”遍历数组的元素

Bash 脚本

输出

Bash For Loop

For 循环读取字符串中的空格作为单词分隔符

语法可以定义如下

这里,str 指的是一个字符串。

将为字符串的每个“单词”执行从“do”到“done”的语句。 查看下面的示例

Bash 脚本

输出

Bash For Loop

For 循环将字符串中的每一行读取为一个单词

语法可以定义如下

这里,将为字符串的每一“行”执行从“do”到“done”的语句。 查看下面的示例

Bash 脚本

输出

Bash For Loop

注意:“For 循环读取字符串中的空格作为单词分隔符”和“For 循环将字符串中的每一行读取为一个单词”之间的唯一区别是字符串变量周围的引号。

For 循环读取三表达式

三表达式语法是“for 循环”最常见的语法。 第一个表达式指的是初始化过程,第二个表达式指的是终止,第三个表达式指的是递增或递减。

查看下面的示例,使用带有 for 循环的三个表达式打印 1 到 10 的数字

Bash 脚本

输出

Bash For Loop

带有 Break 语句的 For 循环

可以在“for”循环内使用“break”语句以从循环中终止。

Bash 脚本

输出

Bash For Loop

带有 Continue 语句的 For 循环

我们可以在“for”循环中使用“continue”语句来跳过特定条件下的任何特定语句。 它告诉 Bash 停止执行循环的该特定迭代并处理下一个迭代。

Bash 脚本

输出

Bash For Loop

无限 Bash For 循环

当 bash 三表达式 for 循环中没有“start、condition 和 increment”时,它将变成一个无限循环。 为了终止 Bash 中的无限循环,我们可以按 Ctrl+C。

Bash 脚本

输出

Bash For Loop

结论

在本主题中,我们讨论了如何在 Bash 中使用 for 循环语句来执行特定任务


下一主题Bash While 循环