数组遍历 #
一、for循环遍历 #
1.1 遍历元素 #
bash
#!/bin/bash
arr=(apple banana cherry date)
# 直接遍历
for item in "${arr[@]}"; do
echo "水果: $item"
done
# 使用索引
for (( i=0; i<${#arr[@]}; i++ )); do
echo "arr[$i] = ${arr[$i]}"
done
1.2 获取索引 #
bash
#!/bin/bash
arr=(a b c)
arr[5]=f
arr[10]=k
# 获取所有索引
for index in "${!arr[@]}"; do
echo "索引 $index: ${arr[$index]}"
done
二、while循环遍历 #
bash
#!/bin/bash
arr=(a b c d e)
i=0
while (( i < ${#arr[@]} )); do
echo "元素 $i: ${arr[$i]}"
((i++))
done
三、关联数组遍历 #
bash
#!/bin/bash
declare -A user=(
[name]="张三"
[age]=25
[city]="北京"
)
# 遍历键值对
for key in "${!user[@]}"; do
echo "$key = ${user[$key]}"
done
# 只遍历值
for value in "${user[@]}"; do
echo "值: $value"
done
四、多维数组模拟 #
bash
#!/bin/bash
# 使用关联数组模拟二维数组
declare -A matrix
# 赋值
matrix[0,0]=1
matrix[0,1]=2
matrix[1,0]=3
matrix[1,1]=4
# 遍历
for i in 0 1; do
for j in 0 1; do
echo "matrix[$i,$j] = ${matrix[$i,$j]}"
done
done
五、总结 #
5.1 遍历方法对比 #
| 方法 | 适用场景 |
|---|---|
| for item in “${arr[@]}” | 遍历所有元素 |
| for i in “${!arr[@]}” | 获取索引 |
| for ((i=0; i<n; i++)) | 需要索引控制 |
| while | 复杂条件遍历 |
5.2 下一步 #
你已经掌握了数组遍历,接下来让我们学习 echo命令!
最后更新:2026-03-27