[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash parameter transforamtion on empty array triggers unset variable
From: |
Chet Ramey |
Subject: |
Re: Bash parameter transforamtion on empty array triggers unset variable. |
Date: |
Tue, 11 Aug 2020 09:51:15 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 8/10/20 5:52 PM, Andrew Neff wrote:
> Bash Version: 5.1
> Patch Level: 0
> Release Status: alpha
>
> Description:
> I do not know if this is related to bash 5.1 erroneously being
> "a little aggressive about skipping over empty strings" mentioned
> in "Declaring arrays with empty string in one line is bugged", but using
> parameter transformation on an empty array, throws an error if "set -u" is
> turned on. This was not how bash 4.4 and 5.0 worked. This bug makes it
> impossible to check if an empty variable is an array using parameter
> transformation while "set -u" is turned on
This was a bug in bash-5.0 (and 4.4) and was fixed in early March 2019 as
the result of
https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00010.html
It's in CHANGES.
There are some other changes in how bash displays attributes of unset
variables when `nounset' is not enabled, but unset variables used in word
expansions should trigger an error -- with the usual @/* exceptions -- when
set -u is enabled.
--
``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/