On 2/20/20 10:05 AM, Ulrich Mueller wrote: >>>>>> On Thu, 20 Feb 2020, pepa65 wrote: > >> On 20/02/2020 19.48, Ulrich Mueller wrote: >>> Still, I think it's sad that there isn't a command that can test for >>> assigned vs void variable, without the need for parsing of declare -p >>> output. > >> There is no need to parse, the return value of `declare -p var` or >> `typeset -p var` will tell you what you want. > > Unfortunately, it doesn't: > > $ f() { > > local var > > var="foo" > > declare -p var > > echo $? > > unset var > > declare -p var > > echo $? > > } > $ f > declare -- var="foo" > 0 > declare -- var > 0
It's unset because it doesn't have a value, but it retains the `local' attribute so it stays local if subsequently assigned one. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/