Eduardo Bustamante wrote:
what's wrong with?:
echo ${#array[@]}
It will return:
- With array=(1 2 3) -> 3
- With array=() -> 0
- With unset array -> 0
- With declare -a array -> 0

Seems to do what you're looking for.
----
Not when "-u" is set, which I often have on to help catch misspellings.

set -u
echo ${#array[@]}
bash: array: unbound variable

Compare to:

if [[ ${yesno:-""} == yes ]]; then ... fi

# basically wanting 1 test for members, else return 0

if [[ ${array[@]:-"undef"} != undef ]] && ((${#array[@]}))

tnx,
-l



Reply via email to