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 c...@case.edu http://tiswww.cwru.edu/~chet/