BASH-来自变量的变量名

BASH-来自变量的变量名,bash,Bash,我的代码 如果代码 TOTAL=${#FOO_5[*]} // COUNT ITEMS IN ARRAY 请修复当涉及间接参数扩展时,数组索引被视为参数名称的一部分。不幸的是,您无法链接参数扩展;您还需要一个中间变量 ARRAY_NAME="FOO_5" TOTAL=${#${!ARRAY_NAME}[*]} //error 不要随意猜测shell syntax.ugh。在此攻击之前建议使用关联数组。特别是对于“所有caps变量用户”。还忘了提到,记住“${a[*]}”和“${a[@]}”是

我的代码

如果代码

TOTAL=${#FOO_5[*]} // COUNT ITEMS IN ARRAY

请修复

当涉及间接参数扩展时,数组索引被视为参数名称的一部分。不幸的是,您无法链接参数扩展;您还需要一个中间变量

ARRAY_NAME="FOO_5"
TOTAL=${#${!ARRAY_NAME}[*]} //error

不要随意猜测shell syntax.ugh。在此攻击之前建议使用关联数组。特别是对于“所有caps变量用户”。还忘了提到,记住
“${a[*]}”
“${a[@]}”
是等价的,所以这可能不是他想要的<代码>完整=(“${!arr}”)总计=${{完整[@]}。我只是
eval
。对了,我错过了“在数组中计算项目”的评论。
ARRAY_NAME="FOO_5[*]"
FULL=${!ARRAY_NAME}
TOTAL=${#FULL}