bug-bash
[Top][All Lists]
Advanced

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

Re: read and env variables


From: Chet Ramey
Subject: Re: read and env variables
Date: Sun, 11 Oct 2015 13:57:52 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/10/15 8:09 PM, isabella parakiss wrote:
> $ a= read a <<< x       # this creates a variable in the current shell
> $ declare -p a
> declare -- a="x"
> 
> $ b= mapfile b <<< x    # this doesn't
> $ declare -p b
> bash: declare: b: not found
> 
> 
> Other shells don't seem to agree on what should happen in this case, but
> it'd be nice to have a more consistent behavior.

This isn't exactly a consistent example.  The `read' example uses a scalar
variable that's found in the temporary environment, which it promotes to a
global variable, whereas the mapfile example attempts to convert a
temporary variable to an array.  If you used a consistent example, such as

        a= read -a a <<< x

you would find that the two builtins behave identically.

I will see if it's reasonable to promote a variable found in the temporary
environment to an array variable in the current scope.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/



reply via email to

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