我如何声明一个关联数组,比如
declare -A ENV_JOBS=( [""]="" ["staging"]="staging-job-name ["dev"]="dev-job-name" )
那么每当它得到一个空字符串时,它就会返回空值?
目前,当我使用 ${ENV_JOBS[""]} 声明和访问时,会显示错误消息
bad array subscript
我的用法是执行“job-name${ENV_JOBS[$ENV]}”之类的操作,以便能够计算所有 env 作业名称。
这是
bash
的限制。要解决此问题,请添加一个额外的字符,使其永远不会为空。
declare -A ENV_JOBS=( ["@"]="" ["@staging"]="staging-job-name" ["@dev"]="dev-job-name" )
jobname=job-name${ENV_JOBS["@$ENV"]}