Chinaunix

标题: [急问!!]bash 字符串 怎么变成数组名?? [打印本页]

作者: bitzilla    时间: 2006-08-04 16:44
标题: [急问!!]bash 字符串 怎么变成数组名??
我有几个数组
array0= (1 2 3 6 )
array1= (2 4 1 0 5 9 3 )
array2= (2 4 6 3 1 7 2 1

还有一个变量tmp;

我现在的想法是:
       while [ $i -lt 0 ]
       do
               tmp="array$i"
               将tmp变成一个数组,然后对数组元素:em12:进行操作       ==========这个地方该怎么办啊!!!
       done
作者: waker    时间: 2006-08-04 16:47
搜一搜关于eval的讨论
作者: bitzilla    时间: 2006-08-04 16:56
用了eval还是没法变成数组啊!
作者: waker    时间: 2006-08-04 17:01
什么叫变成?怎么变成?
作者: bitzilla    时间: 2006-08-04 17:06
tmp的值已经变成array0了,
但是在引用数组array0的元素的时候,却不能使用${tmp[0]}这种形式来引用啊!
作者: bitzilla    时间: 2006-08-04 17:07
我想动态的变换数组名,
利用tmp变量,
作者: 寂寞烈火    时间: 2006-08-04 17:07
原帖由 bitzilla 于 2006-8-4 16:44 发表
我有几个数组
array0= (1 2 3 6 )
array1= (2 4 1 0 5 9 3 )
array2= (2 4 6 3 1 7 2 1

还有一个变量tmp;

我现在的想法是:
       while [ $i -lt 0 ]
       do
               tmp="array$ ...

看不大懂
作者: waker    时间: 2006-08-04 17:11

  1. [waker@proxy ~]$  array0=( 1 2 3 6 )
  2. [waker@proxy ~]$ tmp=array0
  3. [waker@proxy ~]$ eval echo \${$tmp[2]}
  4. 3
复制代码


不行请参新手导航
作者: bitzilla    时间: 2006-08-04 17:17
唉,发现我的表达能力太差了.
作者: bitzilla    时间: 2006-08-04 17:19
原帖由 waker 于 2006-8-4 17:11 发表

  1. [waker@proxy ~]$  array0=( 1 2 3 6 )
  2. [waker@proxy ~]$ tmp=array0
  3. [waker@proxy ~]$ eval echo \${$tmp[2]}
  4. 3
复制代码


不行请参新手导航

多谢!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2