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