在如下的ksh-snippet中
iname=FA
USER_FA=xyz
USER_CS=test
TDUSER=USER_$iname
${!TDUSER}
Run Code Online (Sandbox Code Playgroud)
${!TDUSER}没有按预期工作.为什么?
语法${!var}有效,bash但不是ksh93.可变间接的ksh用途namerefs:
$ iname=FA
$ USER_FA=xyz
$ nameref TDUSER=USER_$iname
$ echo "${TDUSER}"
xyz
Run Code Online (Sandbox Code Playgroud)
在ksh93,!修饰符用于从数组中获取索引列表:${!name[@]}在参数替换期间.