BASH - 变量的变量名称

时间:2012-10-14 12:15:26

标签: bash

我的代码

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

如果代码

怎么办?
ARRAY_NAME="FOO_5"
TOTAL=${#${!ARRAY_NAME}[*]} //error

请修复

1 个答案:

答案 0 :(得分:2)

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

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