summaryrefslogtreecommitdiffstats
path: root/tests/func1.sub
blob: f7e84f4670eb07494a81691b58b4fd6694ec39ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#
# Test that redirections attached to shell functions are printed correctly.
# This was a bug in all bash versions before bash-2.04.
#
f()
{
	echo f-x
	echo f-y
} >&2

type f
export -f f
${THIS_SH} -c 'echo subshell; type f'

f2()
{
	echo f2-a
	f3()
	{
		echo f3-a
		echo f3-b
	} >&2
	f3
}

type f2

export -f f2
${THIS_SH} -c 'echo subshell; type f2'

f4()
{
	echo f4-a
	f5()
	{
		echo f5-a
		echo f5-b
	} >&2
	f5
} 2>&1

type f4
export -f f4
${THIS_SH} -c 'echo subshell; type f4'

testgrp()
{
	echo testgrp-a
	{ echo tg-x; echo tg-y; } >&2
	echo testgrp-b
}
type testgrp

export -f testgrp
${THIS_SH} -c 'echo subshell; type testgrp'