Linux Bash关联数组大小

Linux Bash关联数组大小,linux,bash,associative-array,Linux,Bash,Associative Array,有没有办法在bash中获取关联数组的大小: declare -A array …而不遍历元素 感兴趣的大小是:元素的数量和它所消耗的内存量?您可以使用${array[@]}获取元素的数量 但是,我认为不可能获得它所消耗的内存量。${#array[@]}将返回数组的大小 $ declare -A array $ array[foo]='something' $ array[bar]='blah' $ array[42]='nothing' $ echo ${#array[@]} 3 哦,对了,

有没有办法在bash中获取关联数组的大小:

declare -A array
…而不遍历元素

感兴趣的大小是:元素的数量和它所消耗的内存量?

您可以使用
${array[@]}
获取元素的数量

但是,我认为不可能获得它所消耗的内存量。

${#array[@]}将返回数组的大小

$ declare -A array
$ array[foo]='something'
$ array[bar]='blah'
$ array[42]='nothing'
$ echo ${#array[@]}
3

哦,对了,完全忘了,谢谢你。当阵列变得相当大时,你知道资源消耗吗?@wick我认为你无法确定资源消耗。如果您的数组变得非常庞大,请考虑另一种方法。参考:(向下滚动到可变长度/子字符串移除)。