~elementary-os/ubuntu-package-imports/bash-trusty

« back to all changes in this revision

Viewing changes to tests/redir7.sub

  • Committer: RabbitBot
  • Date: 2015-03-27 19:22:02 UTC
  • Revision ID: rabbitbot@elementaryos.org-20150327192202-jnxj95x3o8b6rl73
Initial import, version 4.3-7ubuntu1.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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