]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/varenv14.sub
bash-5.1 distribution sources and documentation
[thirdparty/bash.git] / tests / varenv14.sub
CommitLineData
8868edaf
CR
1# This program is free software: you can redistribute it and/or modify
2# it under the terms of the GNU General Public License as published by
3# the Free Software Foundation, either version 3 of the License, or
4# (at your option) any later version.
5#
6# This program is distributed in the hope that it will be useful,
7# but WITHOUT ANY WARRANTY; without even the implied warranty of
8# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9# GNU General Public License for more details.
10#
11# You should have received a copy of the GNU General Public License
12# along with this program. If not, see <http://www.gnu.org/licenses/>.
13#
14# testing framework for local variable inheritance
d233b485
CR
15
16shopt -s localvar_inherit
17declare -A var
18
19f() { declare var+=([0]=X); declare -p var; }
20f
21
22f() { declare var=([Y]=Y); declare -p var; }; f
23f() { declare var+=([Y]=Y); declare -p var; }; f
24f() { declare var+=(); declare -p var; }; f
25f() { declare var=(); declare -p var; }; f
26
27unset -f f
28unset -v var
29
30declare -a var=( [0]=12 )
31f() { declare -A var+=([0]=X); declare -p var; }
32f
33
34unset -f f
35unset a s
36
37a=(X) s=X
38
39f() { local -a a s; declare -p a s; }
40f
41
42f() { local a+=(Y) s+=(Y); declare -p a s; }
43f
44
45f() { local -a a+=Y s+=Y; declare -p a s; }
46f