Bash печатает значение ссылки на массив - PullRequest
0 голосов
/ 31 мая 2019
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

Я пробовал несколько вещей, но это приводит к синтаксическим ошибкам. Спасибо.

1 Ответ

1 голос
/ 31 мая 2019

Если вы используете Bash, косвенное расширение параметров - ваш друг:

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