分页: 1 / 1
请教变量的间接引用
发表于 : 2009-01-13 0:22
由 Dic4000
在终端下执行:
代码: 全选
a=b;b=5;eval echo a=$a,b=\$$a;
echo \$$b
结果是:a=b,b=5
$b
但如果接着在终端下执行
代码: 全选
echo b=`echo \$$a`
会得到一个奇怪的结果,请问间接引用和
`(~号的那个键)的用法哪里有误,为什么?
Re: 请教变量的间接引用
发表于 : 2009-01-13 8:28
由 cnkilior
eval echo \$$b
试试
Re: 请教变量的间接引用
发表于 : 2009-01-13 11:42
由 c\nc
a=aa
aa=AA
echo ${!a} # AA
Re: 请教变量的间接引用
发表于 : 2009-01-13 14:14
由 bones7456
echo b=`echo \\$$a`
Re: 请教变量的间接引用
发表于 : 2009-01-13 23:25
由 Dic4000
bones7456 写了:echo b=`echo \\$$a`
输出的是b=$b
cnkilior 写了:eval echo \$$b
其实我想知道有没有可能用
echo `.....`形式来达到eval echo \$$b这样的效果?
我觉的命令 eval ...、` ... ` 和$(...)作用似乎是一样的,都是把后面的字符串当做一个命令先来执行。有没有高手帮忙讲讲eval和`...` 的区别?
Re: 请教变量的间接引用
发表于 : 2009-01-14 0:06
由 c\nc
如果是bash,用 ${!a} 多好。
Re: 请教变量的间接引用
发表于 : 2009-01-15 6:22
由 aerofox
c\nc 写了:如果是bash,用 ${!a} 多好。
确实很好很强大