Jari Aalto | d166f04 | 1997-06-05 14:59:13 +0000 | [diff] [blame] | 1 | a returns 5 |
2 | b returns 4 | ||||
3 | c returns 3 | ||||
4 | d returns 2 | ||||
5 | in e | ||||
6 | e returned 25 | ||||
7 | x is 25 | ||||
8 | ZZ | ||||
9 | abcde | ||||
10 | defghi | ||||
11 | ZZ | ||||
12 | 5 | ||||
13 | 0 | ||||
14 | AVAR | ||||
15 | AVAR | ||||
16 | foo | ||||
17 | foo | ||||
18 | AVAR | ||||
19 | 5 | ||||
20 | 5 | ||||
21 | f1 | ||||
22 | f1 () | ||||
23 | { | ||||
24 | ( return 5 ); | ||||
25 | status=$?; | ||||
26 | echo $status; | ||||
27 | return $status | ||||
28 | } | ||||
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 29 | before: try to assign to FUNCNAME |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 30 | outside: FUNCNAME = |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 31 | before: FUNCNAME = func |
32 | FUNCNAME = func2 | ||||
33 | after: FUNCNAME = func | ||||
34 | outside2: FUNCNAME = | ||||
35 | function | ||||
36 | zf is a function | ||||
37 | zf () | ||||
38 | { | ||||
39 | echo this is zf | ||||
40 | } | ||||
41 | f is a function | ||||
42 | f () | ||||
43 | { | ||||
44 | echo f-x; | ||||
45 | echo f-y | ||||
46 | } 1>&2 | ||||
47 | subshell | ||||
48 | f is a function | ||||
49 | f () | ||||
50 | { | ||||
51 | echo f-x; | ||||
52 | echo f-y | ||||
53 | } 1>&2 | ||||
54 | f2 is a function | ||||
55 | f2 () | ||||
56 | { | ||||
57 | echo f2-a; | ||||
58 | function f3 () | ||||
59 | { | ||||
60 | echo f3-a; | ||||
61 | echo f3-b | ||||
62 | } 1>&2; | ||||
63 | f3 | ||||
64 | } | ||||
65 | subshell | ||||
66 | f2 is a function | ||||
67 | f2 () | ||||
68 | { | ||||
69 | echo f2-a; | ||||
70 | function f3 () | ||||
71 | { | ||||
72 | echo f3-a; | ||||
73 | echo f3-b | ||||
74 | } 1>&2; | ||||
75 | f3 | ||||
76 | } | ||||
77 | f4 is a function | ||||
78 | f4 () | ||||
79 | { | ||||
80 | echo f4-a; | ||||
81 | function f5 () | ||||
82 | { | ||||
83 | echo f5-a; | ||||
84 | echo f5-b | ||||
85 | } 1>&2; | ||||
86 | f5 | ||||
87 | } 2>&1 | ||||
88 | subshell | ||||
89 | f4 is a function | ||||
90 | f4 () | ||||
91 | { | ||||
92 | echo f4-a; | ||||
93 | function f5 () | ||||
94 | { | ||||
95 | echo f5-a; | ||||
96 | echo f5-b | ||||
97 | } 1>&2; | ||||
98 | f5 | ||||
99 | } 2>&1 | ||||
100 | testgrp is a function | ||||
101 | testgrp () | ||||
102 | { | ||||
103 | echo testgrp-a; | ||||
104 | { | ||||
105 | echo tg-x; | ||||
106 | echo tg-y | ||||
107 | } 1>&2; | ||||
108 | echo testgrp-b | ||||
109 | } | ||||
110 | subshell | ||||
111 | testgrp is a function | ||||
112 | testgrp () | ||||
113 | { | ||||
114 | echo testgrp-a; | ||||
115 | { | ||||
116 | echo tg-x; | ||||
117 | echo tg-y | ||||
118 | } 1>&2; | ||||
119 | echo testgrp-b | ||||
120 | } | ||||
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 121 | funca is a function |
122 | funca () | ||||
123 | { | ||||
124 | ( echo func-a ) | ||||
125 | } | ||||
126 | funcb is a function | ||||
127 | funcb () | ||||
128 | { | ||||
129 | ( echo func-b ) | ||||
130 | } | ||||
131 | funcc is a function | ||||
132 | funcc () | ||||
133 | { | ||||
134 | ( echo func-c ) 2>&1 | ||||
135 | } | ||||
136 | func-a | ||||
137 | func-b | ||||
138 | func-c | ||||
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 139 | foo-bar |
140 | foo-bar () | ||||
141 | { | ||||
142 | : | ||||
143 | } | ||||
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 144 | expect 5 10 |
145 | 5 10 | ||||
146 | expect 20 | ||||
147 | 20 | ||||
148 | expect 5 20 | ||||
149 | 5 20 | ||||
150 | expect 5 30 | ||||
151 | 5 30 | ||||
152 | expect 2 40 | ||||
153 | 2 40 | ||||
154 | expect 5 20 | ||||
155 | 5 20 | ||||
Chet Ramey | 495aee4 | 2011-11-22 19:11:26 -0500 | [diff] [blame] | 156 | ./func4.sub: line 10: foo: maximum function nesting level exceeded (100) |
157 | 1 | ||||
158 | after: f = 100 | ||||
159 | ./func4.sub: line 10: foo: maximum function nesting level exceeded (100) | ||||
160 | 1 | ||||
161 | after: f = 100 | ||||
162 | 7 | ||||
163 | after FUNCNEST reset: f = 201 | ||||
164 | 7 | ||||
165 | after FUNCNEST unset: f = 201 | ||||
166 | ./func4.sub: line 10: foo: maximum function nesting level exceeded (20) | ||||
167 | 1 | ||||
168 | after FUNCNEST assign: f = 38 | ||||
Jari Aalto | 0628567 | 2006-10-10 14:15:34 +0000 | [diff] [blame] | 169 | 5 |