linux的shell脚本里面定义数组及对数组进行循环

  • Post author:
  • Post category:linux



在linux shell脚本里面定义数组


1、使用空格分隔的值列表:

array=(value1 value2 value3)

这种方式将一组值赋给数组变量 array,使用空格分隔每个值。可以使用 ${array[index]} 语法来访问数组中的特定元素,其中 index 是元素的索引(从0开始)。

示例:

fruits=("apple" "banana" "orange")
echo ${fruits[0]}  # 输出第一个元素:apple
echo ${fruits[1]}  # 输出第二个元素:banana
echo ${fruits[2]}  # 输出第三个元素:orange

2、使用逐个赋值的方式:

array[0]=value1
array[1]=value2
array[2]=value3

这种方式逐个给数组的索引位置赋值。同样,可以使用 ${array[index]} 语法来访问数组中的特定元素。

示例:

fruits[0]="apple"
fruits[1]="banana"
fruits[2]="orange"
echo ${fruits[0]}  # 输出第一个元素:apple
echo ${fruits[1]}  # 输出第二个元素:banana
echo ${fruits[2]}  # 输出第三个元素:orange

要注意的是,数组中的元素不一定需要是相同类型的,可以是字符串、数字或其他类型的值。同时,还可以使用循环结构和条件判断等控制流语句对数组进行遍历和操作


上面对数组进行定义了,下面讲如何对数组进行遍历

1、使用${array[@]}语法:

fruits=("apple" "banana" "orange")

# 使用 for 循环遍历数组
for fruit in "${fruits[@]}"; do
    echo $fruit
done

2、使用${!array[@]}结合索引访问数组元素:

fruits=("apple" "banana" "orange")

# 使用 for 循环和索引访问数组元素
for index in "${!fruits[@]}"; do
    echo "Index: $index, Fruit: ${fruits[$index]}"
done

3、使用传统的C风格循环:

fruits=("apple" "banana" "orange")
length=${#fruits[@]}

# 使用传统的C风格循环遍历数组
for ((i=0; i<$length; i++)); do
    echo "Index: $i, Fruit: ${fruits[$i]}"
done

这些示例演示了如何使用for循环以不同的方式遍历数组fruits。在循环体中,可以使用 $fruit或 ${fruits[ $index] }来访问当前元素。



版权声明:本文为lixiaobai_boke原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。