循环是任何编程语言中的关键结构,它们在执行重复性任务中发挥作用,否则在普通代码中执行这些任务会很麻烦且耗时。 在 bash 脚本,循环服务于相同的目的,在本指南中,我们将仔细研究各种类型的循环以及它们是如何使用的。
For 循环
For 循环用于迭代对象或项目列表。 该列表可以包括数字、字符串、字符,甚至是数组。
for 循环采用以下结构。
for item in list_of_items do command1 command2 done
让我们举几个例子:
循环遍历字符串列表
在里面 example 下面,我们正在迭代一个字符串列表——在本例中是行星——它包含四个项目。 迭代后,我们将使用 回声 命令。
for planet in Mercury Venus Earth Mars Jupiter do echo $planet done
然后分配执行权限并运行 for_loop.sh bash 脚本。 输出显示列表中包含的所有项目。
$ ./for_loop.sh
循环一系列数字
使用 for 循环,您还可以通过使用提供的序列表达式定义起点和终点来指定一系列数字中的序列。
{START..END}
这 example 下面展示了一个 for 循环,它显示从 1 到 10 的数字
for n in {0..10} do echo value: $n done
运行循环会给你显示的输出。
此外,您可以使用以下序列表达式指定值之间的逐步增量数。
{START..END..STEPWISE_INCREMENT}
为了 example,下面的循环显示从 1 到 10 的数字,值之间的步长为 2。
for n in {0..10..2} do echo value: $n done
执行时,循环产生以下输出。
循环遍历元素数组
此外,您可以利用 for 循环来迭代一组项目。 例如,这里我们有一个名为“MOVIES”的数组,其中包含电影标题的不同元素。
#!/bin/bash MOVIES=('Happy Feet' 'Who killed Sara' 'Lupin' 'Money Heist' 'House of cards') for movie in "${MOVIES[@]}"; do echo Movie: $movie done
执行脚本时,for 循环遍历整个数组并打印出电影标题,如图所示。
概括
正如您所观察到的,for 循环非常简单和方便。 它们通过消除对用户来说很耗时的重复代码来使代码更简洁。 只需几行简单的代码即可轻松完成重复性任务。