blob: 41658293135a9a0fc81a396018fb98b8fa45caf5 (
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
subshell exit
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGHUP
trap -- 'echo aborting' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
[20] debug
debug line
[22] debug
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGHUP
trap -- 'echo aborting' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
trap -- 'echo [$LINENO] debug' DEBUG
[24] debug
func[16] funcdebug
funcdebug line
./trap.tests[26] funcdebug
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGHUP
trap -- 'echo aborting' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
trap -- 'echo ${FUNCNAME:-$0}[$LINENO] funcdebug' DEBUG
./trap.tests[28] funcdebug
./trap.tests[33] debug
./trap.tests[34] debug
func2[30] debug
func2[31] debug
func2debug line
./trap.tests[36] debug
./trap.tests[38] debug
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGHUP
trap -- 'echo aborting' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
trap -- '' DEBUG
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGHUP
trap -- 'echo aborting' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
trap -- 'echo exiting' EXIT
trap -- '' SIGINT
trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
0
trap -- '' SIGUSR2
ERRTRAP
ERRTRAP
ERRTRAP
after falses
if negation ok
after negation
after while
before false in trap2a.sub
after false in trap2a.sub
command substitution
ERRTRAP
ERRTRAP
bar
ERRTRAP
ERRTRAP
ERRTRAP
ERRTRAP
ERRTRAP
+[6] echo 1
1
+[7] echo 2
2
+[8] echo 3
+[8] cat
+[8] false
++[8] echo trap: 8
trap: 8
+[9] echo 4
4
exit subshell 1
current shell
exit subshell 2
current shell
current shell
current shell
outside 1
outside 2
outside 3
outside 4
sleep 2
wait $!
exit
in trap EXIT
sleep 2
wait $!
exit
in trap EXIT
fn
after 1
fn
after 2
caught a child death
caught a child death
caught a child death
trap -- 'echo caught a child death' SIGCHLD
trap -- 'echo exiting' EXIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo caught a child death' SIGCHLD
exiting
|