web-dev-qa-db-ja.com

Bash連想配列のサイズ

Bashで連想配列のサイズを取得する方法はありますか?

declare -A array

...要素を反復処理せずに?

関心のあるサイズは両方です:要素の数とそれが消費するメモリ量だけですか?

21
wick

${#array[@]}は配列のサイズを返します。

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

${#array[@]}を使用して、要素の数を取得できます。

ただし、消費するメモリの量を取得することはできないと思います。

10
paul