]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/redir7.sub
Bash-4.2 patch 14
[thirdparty/bash.git] / tests / redir7.sub
1 # weird redirections that caused trouble and were fixed in post-3.0 bash
2 stuff()
3 {
4 c=1
5 ( sleep 5 < /dev/null >/dev/null 2>&1 & ) &
6 }
7
8 exec 3>&1
9 eval `
10 exec 4>&1 >&3 3>&-
11 {
12 stuff 4>&-
13 echo "c=$c" >&4
14 }`
15 echo c1 is $c
16
17 unset -f stuff
18
19 stuff()
20 {
21 c=2
22 ( sleep 5 < /dev/null >/dev/null 2>&1 & )
23 }
24
25 exec 3>&1
26 eval `
27 exec 4>&1 >&3 3>&-
28 {
29 stuff 4>&-
30 echo "c=$c" >&4
31 }`
32 echo c2 is $c
33
34 unset -f stuff
35
36 stuff()
37 {
38 c=3
39 { sleep 5 < /dev/null >/dev/null 2>&1 & } &
40 }
41
42 exec 3>&1
43 eval `
44 exec 4>&1 >&3 3>&-
45 {
46 stuff 4>&-
47 echo "c=$c" >&4
48 }`
49 echo c3 is $c
50
51 unset -f stuff
52
53 stuff()
54 {
55 c=4
56 { sleep 5 < /dev/null >/dev/null 2>&1 & }
57 }
58
59 exec 3>&1
60 eval `
61 exec 4>&1 >&3 3>&-
62 {
63 stuff 4>&-
64 echo "c=$c" >&4
65 }`
66 echo c4 is $c
67
68 # fixed in bash-3.1
69 echo 'exec <&3' | ${THIS_SH} 3<&0