| 
									
										
										
										
											2014-02-26 09:36:43 -05:00
										 |  |  | f() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	local -a v | 
					
						
							|  |  |  | 	local -a w | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	g | 
					
						
							|  |  |  | 	echo "f: ${v[@]}, ${w[@]}" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | g() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	aux=v | 
					
						
							|  |  |  | 	declare -ga "$aux=( asdf fdsa )" | 
					
						
							|  |  |  | 	declare -ga w=( asdf fdsa ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	echo "g: ${v[@]}, ${w[@]}" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | f | 
					
						
							|  |  |  | echo "FIN: ${v[@]}, ${w[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | unset v w | 
					
						
							|  |  |  | unset -f f g | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | f() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	local  v | 
					
						
							|  |  |  | 	local  w | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	g | 
					
						
							|  |  |  | 	echo f: v = $v, w = $w | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | g() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	aux=v | 
					
						
							|  |  |  | 	declare -g w=one | 
					
						
							|  |  |  | 	declare -g "$aux=two" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	echo g: v = $v, w = $w | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | f | 
					
						
							|  |  |  | echo FIN: v = $v, w = $w | 
					
						
							| 
									
										
										
										
											2016-09-15 16:59:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | # problem with error return propagation through bash-4.3 | 
					
						
							|  |  |  | unset -f aaa bbb | 
					
						
							|  |  |  | unset unique | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | aaa() { | 
					
						
							|  |  |  |     declare -g -a unique=() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | bbb() { | 
					
						
							|  |  |  |     declare -g -A unique=() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | aaa | 
					
						
							|  |  |  | bbb | 
					
						
							|  |  |  | echo after bbb: $? |