ksh中的变量间接

时间:2014-04-03 14:37:51

标签: unix ksh

ksh - 代码段中,如下所示

iname=FA
USER_FA=xyz 
USER_CS=test
TDUSER=USER_$iname
${!TDUSER}

${!TDUSER}无效。为什么呢?

1 个答案:

答案 0 :(得分:5)

语法${!var}适用于bash但不适用ksh93ksh中的变量间接使用namerefs

$ iname=FA
$ USER_FA=xyz
$ nameref TDUSER=USER_$iname
$ echo "${TDUSER}"
xyz

ksh93中,!修饰符用于从参数替换期间获取数组中的索引列表:${!name[@]}