LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1122|回复: 4

数组名和下标均为变量,怎样输出?

[复制链接]
发表于 2009-3-27 13:46:19 | 显示全部楼层 |阅读模式
#定义三个数组
a=(1 2 3)
b=(4 5 6)
c=(7 8 9)
#下面输出
for name in a b c
do
   echo -n -e "${$name[week]}"
done

上述程序中变量week是当前的星期(星期一为1……星期六为6,星期日为0)
希望输出a[0]-a[2]、b[0]-b[2]和c[0]-c[2]的值,但达不到目的。
 楼主| 发表于 2009-3-29 06:47:20 | 显示全部楼层
大家多多帮忙啊,因为不支持二维数组,真的很难受。
回复 支持 反对

使用道具 举报

发表于 2009-3-29 09:52:33 | 显示全部楼层
eval echo \${$name[$week]}
回复 支持 反对

使用道具 举报

发表于 2009-3-30 10:44:59 | 显示全部楼层
没大明白楼主要干什么,用eval能实现不?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-2 10:56:53 | 显示全部楼层
谢谢楼上的两位兄弟。鞠躬……很厉害,赞一个。我是这样子解决的:
for name in a b c
do
   for week in 0 1 2 3 4 5 6  #循环周日到周周六的情况
     do
        case $name in
          a) echo $a{[week]}
          ……
        esac
    done
done

奶奶的熊,真是够笨的,还是楼上的两位兄弟厉害。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表