在 Bash在 4.0 版本及以后支持。
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
## 定义关联数组 fruits_value
declare -A fruits_value
## 赋值操作
### 整体批量赋值
fruits_value=([apple]='100 dollars' [orange]='150 dollars')
### 单个赋值
fruits_value["juice"]='123 dollars'
## 列出全部索引,对普通数组也可以
echo ${!fruits_value[*]} # 或 echo ${!fruits_value[@]}
## 列出单个信息
echo ${fruits_value[apple]}
## 列出全部内容,对普通数组也可以
echo ${fruits_value[*]} # 或 echo ${fruits_value[@]}
echo ${#fruits_value[*]} # 关联数组的长度
echo ${#fruits_value[@]} # 关联数组的长度
## 遍历
for u in ${!fruits_value[@]}
do
echo "fruits_value's ${u} is : ${fruits_value[$u]}"
done
## 非空判断(方式之一),需要双引号避免内容中带空格时解析不完全正确
if [ ! "${fruits_value["apple"]}" ]; then
echo "IS NULL"
else
echo "NOT NULL"
fi
if [ ! "${fruits_value["watermelon"]}" ]; then
echo "IS NULL"
else
echo "NOT NULL"
fi
ref:
https://geek-docs.com/shell/shell-examples/shell-array-and-an-associative-array.html
https://www.cnblogs.com/donfaquir/p/9986157.html