在ksh
-snippet中,如下所示
iname=FA
USER_FA=xyz
USER_CS=test
TDUSER=USER_$iname
${!TDUSER}
${!TDUSER}
无法正常工作。为什么? 最佳答案
语法${!var}
可在bash
中使用,但不能在ksh93
中使用。 ksh
中的变量间接使用 namerefs
:
$ iname=FA
$ USER_FA=xyz
$ nameref TDUSER=USER_$iname
$ echo "${TDUSER}"
xyz
在
ksh93
中,!
修饰符用于从数组中获取索引列表:${!name[@]}
在参数替换期间。关于unix - ksh中的变量间接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22840981/