bug-bash
[Top][All Lists]
Advanced

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

Re: 'local -x VARIABLE' does not clear variable for subprocesses


From: Linda Walsh
Subject: Re: 'local -x VARIABLE' does not clear variable for subprocesses
Date: Sat, 03 May 2014 19:59:34 -0700
User-agent: Thunderbird



Arfrever Frehtes Taifersar Arahesis wrote:
bash 4.2.47:
$ export VAR1=abc VAR2=abc
$ f() { local VAR1; local -x VAR2; bash -c 'declare -p VAR{1,2}'; }
$ f
bash: line 0: declare: VAR1: not found
bash: line 0: declare: VAR2: not found

bash 4.3.11:
$ export VAR1=abc VAR2=abc
$ f() { local VAR1; local -x VAR2; bash -c 'declare -p VAR{1,2}'; }
$ f
declare -x VAR1="abc"
declare -x VAR2="abc"
---
   What's especially peculiar is that if you change VAR1+VAR2
in 'f', then the called bash in 'f' should still see the original
value of VAR1 as it was not exported (but it sees both
values as assigned in 'f'.  I.e.

Changing 'f' above to read:
$ f() { local VAR1=1; local -x VAR2=2; bash -c 'declare -p VAR{1,2}'; }
$ f
declare -x VAR1="1"
declare -x VAR2="2"
----
Note, the exportation of the local value from 'f()'
of 'VAR1' to a child process was also in 4.2.




reply via email to

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