]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/varenv16.sub
bash-5.1 distribution sources and documentation
[thirdparty/bash.git] / tests / varenv16.sub
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 # test whether or not temporary environment assignments are exported
15 # in posix mode. works now, posix says it will not work in the future
16
17 show2()
18 {
19 printf %s "foo=${foo-<unset>}"
20 echo -n ' environment foo='
21 printenv foo || echo
22 }
23
24 showfoo()
25 {
26 local foo
27
28 foo=showfoo show2
29 }
30
31 unset foo
32 showfoo
33 foo=foo showfoo
34 showfoo
35 echo outside: "foo=${foo-<unset>}"
36
37 echo ; echo 'posix mode'
38 set -o posix
39 unset foo
40 showfoo
41 echo outside 1.0: "foo=${foo-<unset>}"
42 foo=foo showfoo
43 showfoo
44 echo outside 1.1: "foo=${foo-<unset>}"
45
46 unset foo
47 show2
48 echo outside 2.0: "foo=${foo-<unset>}"
49 foo=foo show2
50 show2
51 echo outside 2.1: "foo=${foo-<unset>}"