0%

array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 声明数组
array=("val1" "val2" "val3")
# 声明键值对
declare -A map=([key1]="val1" [key2]="val2" [key3]="val3")

# 取数组所有键, 近似于 ${!map[*]}
for key in ${!map[@]};do
echo ${map[$key]}
done

# 取数组所有值, 近似于 ${array[*]}
for ele in ${!array[@]};do
echo $ele
done

# 取数组的长度, 等价于 ${#array[*]}
echo ${#array[@]}

# 去重
array=($(awk -vRS=' ' '!a[$1]++' <<< ${array[@]}))

# 数组拼接
array=($array1 $array2)

# 将字符串分割成数组
# 方法 1
OLD_IFS="$IFS"
IFS=","
arr=($a)
IFS="$OLD_IFS"
for s in ${arr[@]}
do
echo "$s"
done
# 方法 2
str="192.168.31.65"
array=(${str//\./ })
for i in "${!array[@]}"; do
echo "$i=>${array[i]}"
done

# 删除元素
# 删除某个元素
unset array[0]

# 删除整个数组
unset array

1. Resource

https://www.cnblogs.com/sco1234/p/8906527.html