|
From: | L. A. Walsh |
Subject: | Re: 4.4 change in behavior from 4.3: how to catch unset when using ${#length} |
Date: | Fri, 21 Oct 2016 21:19:08 -0700 |
User-agent: | Thunderbird |
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
[Prev in Thread] | Current Thread | [Next in Thread] |