📜  循环遍历 Bash 中的字符串数组 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:54:15.880000             🧑  作者: Mango

循环遍历 Bash 中的字符串数组

在 Bash shell 中,可以使用字符串数组来存储一系列的字符串元素。在需要遍历这些元素时,可以使用循环结构来逐个访问它们。

声明数组

要声明一个字符串数组,可以使用以下语法:

array_name=(element1 element2 element3 ...)

例如,下面这行代码声明了一个名为 fruits 的字符串数组,其中包含了三个元素:apple、banana 和 cherry。

fruits=(apple banana cherry)
循环遍历数组

使用 for 循环结构可以逐个访问数组中的所有元素。可以使用数组名加上一个 $ 符号来引用整个数组,也可以使用 ${array_name[index]} 方式来引用数组中的某个元素,其中 index 是元素在数组中的索引值。

以下是通过 for 循环遍历上面例子中的 fruits 数组:

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

输出结果如下:

apple
banana
cherry

在上面的代码中,"${fruits[@]}" 表示整个 fruits 数组,使用 $fruit 变量来依次取出数组中的元素并输出。

如果要遍历数组中元素的索引值和数组中的元素,可以使用 ${!array_name[@]} 访问所有的索引值,例如:

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

输出结果如下:

0 apple
1 banana
2 cherry

在上面的代码中,${!fruits[@]} 表示数组 fruits 中的所有索引值,使用 $index 变量访问索引值,${fruits[index]} 访问对应的元素。

结论

使用循环结构可以方便地遍历 Bash 中的字符串数组。需要注意的是,Bash shell 中的数组索引值从 0 开始。