'local -x VARIABLE' (without assignment of value) does not clear variable for subprocesses. It is regression in bash 4.3.
Behavior of 'local VARIABLE' without -x option also changed, but I am not sure what should be correct behavior in that case. 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" -- Arfrever Frehtes Taifersar Arahesis
signature.asc
Description: This is a digitally signed message part.