Bash 数组引用的打印值

Bash printing value of array reference

p=0
array="host_01"
HostProjects[$p]="project_01"
AvgCr=1569.22
eval "${array}_${HostProjects[$p]}=$AvgCr"
echo "Host Credit is ${host_01_project_01}"

给我 1569.22

但是我怎样才能从中得到结果 1569.22:

printf '%s\n' "${array}_${HostProjects[$p]}"
or even from:
echo "${array}_${HostProjects[$p]}"

这给了我 host_01_project_01

我尝试了几种方法,但都以语法错误告终。 谢谢

如果您正在使用 Bash,间接参数扩展是您的朋友:

varname="${array}_${HostProjects[$p]}"
echo "The value you want is ${!varname}"