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/

10-10 12:50