Bash打印数组引用的值

Bash打印数组引用的值,bash,eval,Bash,Eval,给我1569.22 但我如何从以下方面获得1569.22的结果: 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}" 这给了我一个主机项目 我尝试过几种方法,但最终还是出现了语法错误。 谢谢。如果您正在使用Bash,间接参数扩展是您的朋友: pri

给我1569.22

但我如何从以下方面获得1569.22的结果:

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}"
这给了我一个主机项目

我尝试过几种方法,但最终还是出现了语法错误。
谢谢。

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

printf '%s\n' "${array}_${HostProjects[$p]}"
or even from:
echo "${array}_${HostProjects[$p]}"
varname="${array}_${HostProjects[$p]}"
echo "The value you want is ${!varname}"