📜  bash 数组 forloop - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:29:35.430000             🧑  作者: Mango

Bash 数组 forloop - Shell-Bash

在Shell脚本中,数组是最常用的数据结构之一。使用数组,我们可以方便地存储和访问多个值。在本文中,我们将学习如何使用for循环遍历数组。

创建数组

Shell脚本中,数组可以通过以下方式创建:

array_name=(value1 value2 ... valueN)

例如,我们可以创建一个名为fruits的数组,其中包含三个水果名称:

fruits=('apple' 'banana' 'orange')
遍历数组

有两种方式可以使用for循环遍历数组:使用元素列表或使用元素下标。

使用元素列表

使用元素列表,可以轻松地访问数组中的每个元素。我们可以通过以下方式来实现遍历:

for fruit in "${fruits[@]}"
do
  echo $fruit
done

在上面的示例中,"${fruits[@]}"表示所有数组元素的列表。在每次循环中,$fruit变量被设置为当前循环的元素,然后这个元素被输出到终端。

使用元素下标

如果需要不仅访问数组元素本身,还需访问其下标,可以使用元素下标方式。下面的示例中,使用了!符号来获取数组的下标:

for index in "${!fruits[@]}"
do
  echo "index: $index, name: ${fruits[$index]}"
done

在上面的示例中,${!fruits[@]}表示所有数组下标的列表。在每次循环中,$index变量被设置为当前循环的元素下标,${fruits[$index]}用于通过数组下标获取数组元素本身。然后,程序将输出元素的下标和名称。

示例程序
#!/bin/bash

# 定义数组
fruits=('apple' 'banana' 'orange')

echo "使用元素列表遍历数组"
for fruit in "${fruits[@]}"
do
  echo $fruit
done

echo "使用元素下标遍历数组"
for index in "${!fruits[@]}"
do
  echo "index: $index, name: ${fruits[$index]}"
done
结论

使用for循环遍历数组是Shell脚本编程中的一个常见任务。我们可以使用元素列表或元素下标方式来访问数组的每个元素。在实际编码中,选择哪种方式取决于具体情况,但通常都可以解决特定问题。