Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #11618

Re: read and env variables

From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: read and env variables
Date 2015-10-11 13:57 -0400
Organization ITS, Case Western Reserve University
Message-ID <mailman.96.1444586335.7904.bug-bash@gnu.org> (permalink)
References <CAAZkfoJuwe4o1rPQrfB-vxqeAaBX-=9NPWgv2uiOPdHq7L8g+g@mail.gmail.com>

Show all headers | View raw


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/

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Re: read and env variables Chet Ramey <chet.ramey@case.edu> - 2015-10-11 13:57 -0400

csiph-web