ThatManK Mobile Article
数组操作
#!/bin/bash
ARR=(
"aa"
"bb"
"cc"
"dd"
"ee"
"ff"
)
function show_arr() {
# 数组长度
echo "数组的长度是: ${#ARR[@]}"
# 根据键遍历数组
for i in ${!ARR[@]}; do
echo "下标是: $i, 列表项是: ${ARR[$i]}"
done
# 添加元素
ARR+=("gg")
echo "添加元素后: ${ARR[*]}"
# 数组切片
arr1=${ARR[@]:0}
# arr1: aa bb cc dd ee ff gg
arr2=${ARR[@]:1}
# arr2: bb cc dd ee ff gg
arr3=${ARR[@]:1:2}
# arr3: bb cc
arr4=${ARR[@]::3}
# arr4: aa bb cc
arr5=${ARR[@]::10}
# arr5: aa bb cc dd ee ff gg (空格代替)
echo "arr1: $arr1"
echo "arr2: $arr2"
echo "arr3: $arr3"
echo "arr4: $arr4"
echo "arr5: $arr5"
# 删除元素
unset ARR[0]
echo "删除元素后: ${ARR[@]}"
# bb cc dd ee ff gg
# 匹配替换
# ${ARR[@]/x/y} 最小匹配替换, 每个元素只替换一次
# ${ARR[@]//x/y} 最大匹配替换, 每个元素可替换多次
# ${ARR[@]/x/} 最小匹配删除, 只删除一个符合规定的元素
# ${ARR[@]//x/} 最大匹配删除, 可删除多个符合规定的元素
# 匹配删除
: " # 每个元素,从左向右进行最短匹配
## 每个元素,从左向右进行最长匹配
% 每个元素,从右向左进行最短匹配
%% 每个元素,从右向左进行最长匹配
"
}
function main() {
show_arr
}
main