bash - 数组引用的bash打印值
问题描述
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}"
推荐阅读
- python-3.x - 为什么我在这个问题中遇到运行时错误?
- laravel-5 - 在模态中定义的表单属性在 laravel 中没有获得动态值:(
- java - CardView 未以编程方式添加到 LinearLayout
- c# - 限制角度之间的铰链关节旋转
- ios - 在 Swift 中启动并将字符串传递给目标视图控制器
- python - 从姓名列表中生成学生对,每周生成新对
- php - 用于配方数据库的 PHP 和 MySQL
- angular - 更新到 Angular 7 - @angular/animation 出错
- installation - Netlogo:如何删除“go”结果保留“setup”结果?
- metal - 'nextDrawable' 非常难以捉摸的金属问题