['']='':用空值声明空字符串键时,数组下标错误

问题描述 投票:0回答:1

我如何声明一个关联数组,比如

declare -A ENV_JOBS=( [""]="" ["staging"]="staging-job-name ["dev"]="dev-job-name" )

那么每当它得到一个空字符串时,它就会返回空值?

目前,当我使用 ${ENV_JOBS[""]} 声明和访问时,会显示错误消息

bad array subscript

我的用法是执行“job-name${ENV_JOBS[$ENV]}”之类的操作,以便能够计算所有 env 作业名称。

bash associative-array
1个回答
0
投票

这是

bash
的限制。要解决此问题,请添加一个额外的字符,使其永远不会为空。

declare -A ENV_JOBS=( ["@"]="" ["@staging"]="staging-job-name" ["@dev"]="dev-job-name" )
jobname=job-name${ENV_JOBS["@$ENV"]}
© www.soinside.com 2019 - 2024. All rights reserved.