bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unset array doesn't work


From: Chet Ramey
Subject: Re: Unset array doesn't work
Date: Mon, 12 Feb 2018 09:26:37 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 2/12/18 1:41 AM, Nikolai Kondrashov wrote:
> Hi Chet,
> 
> On 02/12/2018 01:31 AM, Chet Ramey wrote:
>> On 2/11/18 1:06 PM, Nikolai Kondrashov wrote:
>>> Hi everyone,
>>>
>>> I think I'm hitting a bug in Bash 4.4.12 (on Debian Stable): at some point
>>> an "unset" of a global array variable doesn't work inside a function, in
>>> "dkms" script from DKMS package. Adding another "unset" of the same
>>> variable
>>> next to it fixes the issue.
>>
>> Do you have a local variable with the same name "shadowing" the global?
> 
> Thank you for the quick response!
> 
> Looking more into this, the variable in question is defined as a local in the
> calling function and is being "unset" in a function called from that one.

This is bash's dynamic scoping. The visibility of a local variable is
restricted to a function and its children, and `unset' removes the
currently-visible instance. Removing such an instance can `unconver' an
instance in a previous scope.

-- 
``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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]