Bashで間接配列のサイズを取得する方法は?

Bashで間接配列のサイズを取得する方法は?

評価を使用しないでください。

これはうまくいきません:

astr=(a b c)    
str="#astr[@]"
echo "${!str}"

ベストアンサー1

ヒントからここ、私はこれをすることができました:

astr=(a b c)
declare -n astrRef="astr"
echo ${#astrRef[@]}

また、これらの配列を作成するか、単に間接割り当てによって作成することもできます。

declare -n astrRef="astr"
astrRef=(d e f)
declare -p astrRef astr
astrRef+=(g)
declare -p astrRef astr

おすすめ記事