[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: test -v for array does not work as documented
From: |
Chet Ramey |
Subject: |
Re: test -v for array does not work as documented |
Date: |
Sun, 23 Feb 2020 11:27:21 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 2/21/20 3:31 AM, pepa65 wrote:
> On 21/02/2020 02.37, Chet Ramey wrote:
>> It's unset because it doesn't have a value, but it retains the `local'
>> attribute so it stays local if subsequently assigned one.
>
> Is there any reason the local attribute cannot be unset? If it would be
> possible then the "declare/typeset -p" would return 1 when the variable
> doesn't exist.
There have been several umm...passionate discussions about this. The idea
is that a local variable that's unset should stay local (and unset) until
the function returns instead of `uncovering' a variable at a previous
scope.
Think about dynamic scoping and its effects on variable visibility.
> By the way, it seems that `local -p var` doesn't work like 'declare -p
> var` even though `help local` suggests it should.
How so? Do you mean that declare -p var in a function will show different
variables?
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
Re: test -v for array does not work as documented, Ulrich Mueller, 2020/02/20