小编sau*_*rav的帖子

如何创建key的映射:shell中的数组?

我想在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)

unix arrays bash shell

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

bash ×1

shell ×1

unix ×1