On Wed, Nov 19, 2014 at 10:32:52PM +0100, Piotr Grzybowski wrote: > I do understand your point. Dont you understand the need to check in > a simple (I know, nothing works, nothing is simple ;-)) way that given > variable has value? no matter what it is?
there: is_defined3() { { declare -p -- "$1" && ! declare -fp -- "$1"; } 2>/dev/null >&2 } works for strings, arrays and associative arrays. No need for hacks like eval, ${!var}, or a need to add a new operator to bash's test.