我想在shell中创建地图.每个值都是一个数组.所以地图是关键:数组对.例如,它可以是这样的:
"Key1" : a1 a2 a3 a4
"key2" : b1 b2 b3
"key3" : c1
Run Code Online (Sandbox Code Playgroud)
基本上我的代码看起来像这样
listService(){
serviceType=$1
servicesList=($(getServices $serviceType))
}
listService serviceTypeA
listService serviceTypeB
listService serviceTypeC
Run Code Online (Sandbox Code Playgroud)
这getServices是一个函数,它根据传递的参数返回一个服务数组$serviceType.因此每次我调用该listService函数时,我serviceList都会被新服务列表覆盖.但我希望以不同的服务类型保留所有服务,如下所示:
"serviceA" : a1 a2 a3 a4
"serviceB" : b1 b2 b3
"serviceC" : c1
Run Code Online (Sandbox Code Playgroud)
之后,我想基于密钥访问每个阵列.如何实现这一目标.
在此先感谢您的帮助.
编辑:我尝试了@cdarke提供的答案.这是我现在的代码:
#!/bin/bash
declare -A arrayMap
getValues(){
key=$1
case $key in
AAA )
arr=( AA AAA AAAA )
;;
BBB )
arr=( BB BB BBBB )
;;
CCC ) …Run Code Online (Sandbox Code Playgroud)