Skip to content

数组

1. 数组声明

在Bash中,使用圆括号()来定义数组

sh
# 定义数组  
my_array=(element1 element2 element3)

2. 读取数组

2.1 访问数组元素

通过索引访问数组中的元素,索引从0开始。

sh
echo "${my_array[0]}"  # 输出:element1  
echo "${my_array[1]}"  # 输出:element2

2.2 获取所有元素

sh
echo "${my_array[@]}"  # 输出:element1 element2 element3

2.3 提取数组部分成员

sh
food=( apples bananas cucumbers dates eggs fajitas grapes )
echo ${food[@]:1:1}
bananas
echo ${food[@]:1:3}
bananas cucumbers dates

3. 获取数组长度

sh
## 方式一
length=${#my_array[@]}  
echo "Length of array: $length"  # 输出:3  
## 方式二
echo ${#a[@]}
1

4. 提取数组序号

sh
arr=([5]=a [9]=b [23]=c)
## 方式一
$ echo ${!arr[@]}
5 9 23
## 方式二
$ echo ${!arr[*]}
5 9 23

5. 添加元素

sh
## 方式一
my_array[3]="element4"  # 直接指定索引  
## 方式二
my_array+=("element5")   # 追加元素

6. 修改元素

sh
my_array[1]="new_element2"  # 将第二个元素修改

4.7 删除元素

sh
unset my_array[2]  # 删除第三个元素  
## 清空数组
unset my_array

4.8 循环遍历数组

sh
## 使用for循环
for element in "${my_array[@]}"; do  
    echo "$element"  
done