3

我正在编写一个从配置文件中读取许多变量的脚本。其中许多变量是关联数组。需要在运行时解析这些哈希中的一个或多个,以便设置许多与会话相关的参数。

虽然我可以像这样单独访问每个键的值:

declare -A "$1"

. /path-to-config/script.conf

_hashid=$1
param=${_hashid_}[string]
echo ${!param}

我无法自己访问密钥。我想做的是这样的:

declare -A "$1"

. /path-to-config/script.conf

_hashref_=${1}[@]
for key in "${!_hashref_}" ; do
   echo ${_hashref_[$key]}
done

这设置$key为每个元素的值。我尝试过的其他变体也没有奏效。当哈希名称是动态的时,有人可以向我解释如何迭代键吗?

4

0 回答 0