[linux shell] 如何获得以一个变量的值为名的变量的值

火星熊猫 2008-12-14 05:25:00
VAR1="VAR2"
VAR2=1111
有没有办法可以通过VAR1来获得VAR2的内容 最直接想到的方法是 ${${VAR1}} 但是这样不行


假设
VAR1=1
VAR2=2
VAR3=3
VAR4=4
VAR5=5
有一个变量名列表VAR_LIST="VAR1 VAR2 VAR3 VAR5"
希望能用上面提问的方式显示列表里所有变量的值
for var in ${VAR_LIST}; do
echo ${${var}}
done
这样可以通过修改列表的内容来方便的配置想要显示的变量
...全文
229 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星熊猫 2008-12-18
  • 打赏
  • 举报
回复
解决了 多谢多谢
fox000002 2008-12-14
  • 打赏
  • 举报
回复
#!/bin/bash

#
var=1
var2=var

eval "echo \$$(echo $var2)"


VAR1=1
VAR2=2
VAR3=3
VAR4=4
VAR5=5

VAR_LIST="VAR1 VAR2 VAR3 VAR5"

for var in ${VAR_LIST}; do
eval "echo \$$(echo $var)"
done

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧