| 
									
										
										
										
											1997-06-05 14:59:13 +00:00
										 |  |  | a returns 5 | 
					
						
							|  |  |  | b returns 4 | 
					
						
							|  |  |  | c returns 3 | 
					
						
							|  |  |  | d returns 2 | 
					
						
							|  |  |  | in e | 
					
						
							|  |  |  | e returned 25 | 
					
						
							|  |  |  | x is 25 | 
					
						
							|  |  |  | ZZ | 
					
						
							|  |  |  | abcde | 
					
						
							|  |  |  | defghi | 
					
						
							|  |  |  | ZZ | 
					
						
							|  |  |  | 5 | 
					
						
							|  |  |  | 0 | 
					
						
							|  |  |  | AVAR | 
					
						
							|  |  |  | AVAR | 
					
						
							|  |  |  | foo | 
					
						
							|  |  |  | foo | 
					
						
							|  |  |  | AVAR | 
					
						
							|  |  |  | 5 | 
					
						
							|  |  |  | 5 | 
					
						
							|  |  |  | f1 | 
					
						
							|  |  |  | f1 ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     ( return 5 ); | 
					
						
							|  |  |  |     status=$?; | 
					
						
							|  |  |  |     echo $status; | 
					
						
							|  |  |  |     return $status | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2000-03-17 21:46:59 +00:00
										 |  |  | before: try to assign to FUNCNAME | 
					
						
							| 
									
										
										
										
											2009-01-12 13:36:28 +00:00
										 |  |  | outside: FUNCNAME = | 
					
						
							| 
									
										
										
										
											2000-03-17 21:46:59 +00:00
										 |  |  | before: FUNCNAME = func | 
					
						
							|  |  |  | FUNCNAME = func2 | 
					
						
							|  |  |  | after: FUNCNAME = func | 
					
						
							|  |  |  | outside2: FUNCNAME = | 
					
						
							|  |  |  | function | 
					
						
							|  |  |  | zf is a function | 
					
						
							|  |  |  | zf ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo this is zf | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | f is a function | 
					
						
							|  |  |  | f ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f-x; | 
					
						
							|  |  |  |     echo f-y | 
					
						
							|  |  |  | } 1>&2 | 
					
						
							|  |  |  | subshell | 
					
						
							|  |  |  | f is a function | 
					
						
							|  |  |  | f ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f-x; | 
					
						
							|  |  |  |     echo f-y | 
					
						
							|  |  |  | } 1>&2 | 
					
						
							|  |  |  | f2 is a function | 
					
						
							|  |  |  | f2 ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f2-a; | 
					
						
							|  |  |  |     function f3 ()  | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo f3-a; | 
					
						
							|  |  |  |         echo f3-b | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     f3 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | subshell | 
					
						
							|  |  |  | f2 is a function | 
					
						
							|  |  |  | f2 ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f2-a; | 
					
						
							|  |  |  |     function f3 ()  | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo f3-a; | 
					
						
							|  |  |  |         echo f3-b | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     f3 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | f4 is a function | 
					
						
							|  |  |  | f4 ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f4-a; | 
					
						
							|  |  |  |     function f5 ()  | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo f5-a; | 
					
						
							|  |  |  |         echo f5-b | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     f5 | 
					
						
							|  |  |  | } 2>&1 | 
					
						
							|  |  |  | subshell | 
					
						
							|  |  |  | f4 is a function | 
					
						
							|  |  |  | f4 ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo f4-a; | 
					
						
							|  |  |  |     function f5 ()  | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo f5-a; | 
					
						
							|  |  |  |         echo f5-b | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     f5 | 
					
						
							|  |  |  | } 2>&1 | 
					
						
							|  |  |  | testgrp is a function | 
					
						
							|  |  |  | testgrp ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo testgrp-a; | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo tg-x; | 
					
						
							|  |  |  |         echo tg-y | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     echo testgrp-b | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | subshell | 
					
						
							|  |  |  | testgrp is a function | 
					
						
							|  |  |  | testgrp ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     echo testgrp-a; | 
					
						
							|  |  |  |     {  | 
					
						
							|  |  |  |         echo tg-x; | 
					
						
							|  |  |  |         echo tg-y | 
					
						
							|  |  |  |     } 1>&2; | 
					
						
							|  |  |  |     echo testgrp-b | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2001-04-06 19:14:31 +00:00
										 |  |  | funca is a function | 
					
						
							|  |  |  | funca ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     ( echo func-a ) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | funcb is a function | 
					
						
							|  |  |  | funcb ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     ( echo func-b ) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | funcc is a function | 
					
						
							|  |  |  | funcc ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     ( echo func-c ) 2>&1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | func-a | 
					
						
							|  |  |  | func-b | 
					
						
							|  |  |  | func-c | 
					
						
							| 
									
										
										
										
											2011-11-21 20:51:19 -05:00
										 |  |  | foo-bar | 
					
						
							|  |  |  | foo-bar ()  | 
					
						
							|  |  |  | {  | 
					
						
							|  |  |  |     : | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2001-04-06 19:14:31 +00:00
										 |  |  | expect 5 10 | 
					
						
							|  |  |  | 5 10 | 
					
						
							|  |  |  | expect 20 | 
					
						
							|  |  |  | 20 | 
					
						
							|  |  |  | expect 5 20 | 
					
						
							|  |  |  | 5 20 | 
					
						
							|  |  |  | expect 5 30 | 
					
						
							|  |  |  | 5 30 | 
					
						
							|  |  |  | expect 2 40 | 
					
						
							|  |  |  | 2 40 | 
					
						
							|  |  |  | expect 5 20 | 
					
						
							|  |  |  | 5 20 | 
					
						
							| 
									
										
										
										
											2011-11-22 19:11:26 -05:00
										 |  |  | ./func4.sub: line 10: foo: maximum function nesting level exceeded (100) | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | after: f = 100 | 
					
						
							|  |  |  | ./func4.sub: line 10: foo: maximum function nesting level exceeded (100) | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | after: f = 100 | 
					
						
							|  |  |  | 7 | 
					
						
							|  |  |  | after FUNCNEST reset: f = 201 | 
					
						
							|  |  |  | 7 | 
					
						
							|  |  |  | after FUNCNEST unset: f = 201 | 
					
						
							|  |  |  | ./func4.sub: line 10: foo: maximum function nesting level exceeded (20) | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | after FUNCNEST assign: f = 38 | 
					
						
							| 
									
										
										
										
											2006-10-10 14:15:34 +00:00
										 |  |  | 5 |