辞書(連想配列)が空であることを確認するには?私は宣言を1つだけ使用しますdeclare -A dict
。先ほど宣言したけどキーがないかな
ベストアンサー1
連想配列の長さ(またはその中の要素数)は、通常の${#array[@]}
配列と同様に使用できます。この数が0の場合、配列は空です。
if [ "${#array[@]}" -ne 0 ]; then
echo 'array is not empty'
fi
一般的なシェル変数の場合は、testを使用して-v
存在をテストできます。
if [ -v variable ]; then
echo 'variable exists'
fi
...しかし、配列では直感的ではありません。したがって、配列が存在するが空であるか宣言されていないことを確認するためにこれを確実に使用することはできません。
0
配列のキーが存在すると、テストは真になります。