日期:2014-05-16  浏览次数:20776 次

shell变量的嵌套
本人shell菜鸟,请教各位大神一个问题:
目前定义了三个变量
typeset aaset="aa"
typeset bbset="bb"
typeset ccset="cc"

现在有一个type变量,它的值可能是aa, bb或者cc.
请问怎么才能echo打印时候通过type来选择打印前面的那三个变量?
用echo ${${type}set}这样子是不行的。

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

$ aaset=120
$ type=aa
$ varname=${type}set
$ echo ${!varname}


结果就是120,答应aaset,varname这个变量内容就是aaset


打印..

不知道是不是因为我的是ksh的问题,echo出来的是aaset,而不是120.

貌似

ksh要nameref
nameref varname=${type}"set"
echo ${varname}