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