分页: 1 / 1

数组里面变量求解

发表于 : 2012-05-31 14:15
kbens85
如ab=(
123
345
345)
for ((i=0;i<${#ab[*]};i++));do
echo ${ab}
done

现在想这样,可发现这样写不对(标红的地方),求解决
dd=$1
for ((i=0;i<${#$dd
[*]};i++));do
echo ${$dd}
done

Re: 数组里面变量求解

发表于 : 2012-05-31 15:57
wjchen
你命令行中$1怎么打的,./script.sh (123 345 345) 这样吗?你想实现怎样的效果?

Re: 数组里面变量求解

发表于 : 2012-05-31 16:45
kbens85
wjchen 写了:你命令行中$1怎么打的,./script.sh (123 345 345) 这样吗?你想实现怎样的效果?
我有好多数组 数组名为a b c ...
a=(1 2 3 )
b=(1 2 3 )
c=(1 2 3 )
'''''
dolist () {
cs=$1
len=${#$cs[*]}
for ((i=0;i<$len;i++));do
echo ${$cs}
done
}

dolist a
dolist b
dolst c
。。。
发现变量cs 在${#$cs
[*]} ${$cs} 里面 出现错误

Re: 数组里面变量求解

发表于 : 2012-06-01 6:09
aerofox
[bash]eval len="\${#$cs[*]}"

eval echo "\${$cs}"[/bash]

Re: 数组里面变量求解

发表于 : 2012-06-01 6:19
pengqian
我总觉得 bash 不适合写这么复杂的东西。
数组啊什么的,总是各种报错。

Re: 数组里面变量求解

发表于 : 2012-06-01 9:23
kbens85
aerofox 写了:[bash]eval len="\${#$cs[*]}"

eval echo "\${$cs}"[/bash]



哥,正解啊,膜拜中。。。

Re: 数组里面变量求解

发表于 : 2012-06-01 9:24
kbens85
pengqian 写了:我总觉得 bash 不适合写这么复杂的东西。
数组啊什么的,总是各种报错。
是不怎么合适,可是遇到这种情况,不弄出来 心里不舒服。。呵呵。