分页: 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 不适合写这么复杂的东西。
数组啊什么的,总是各种报错。
是不怎么合适,可是遇到这种情况,不弄出来 心里不舒服。。呵呵。