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}"
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}"