我正在编写一个脚本,从配置文件中读取许多变量。许多变量是关联数组。需要在运行时解析这些哈希中的一个或多个以便设置多个与会话相关的参数。
虽然我可以像这样单独访问每个键的值:
declare -A $(echo $1)
. /path-to-config/script.conf
_hashid=$1
param=${_hashid_}[string]
echo ${!param}
...我无法自己访问密钥。我想做的是这样的事情:
declare -A $(echo $1)
. /path-to-config/script.conf
_hashref_=${1}[@]
for key in "${!_hashref_}" ; do
echo ${_hashref_[$key]}
done
这将$ key设置为每个元素的值。我试过的其他变种也没有奏效。有人可以向我解释当哈希名称是动态的时候如何迭代密钥吗?