88 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| f() { local -n a=$1; a=X; }
 | |
| 
 | |
| a=(0); f 'a[0]'
 | |
| while [[ -v a ]]; do declare -p a; unset a; done
 | |
| 
 | |
| a=(0); f 'a'
 | |
| while [[ -v a ]]; do declare -p a; unset a; done
 | |
| 
 | |
| b=(0); f 'b[0]'
 | |
| while [[ -v a ]]; do typeset -p a; unset a; done
 | |
| typeset -p b
 | |
| 
 | |
| b=(0); f 'a[0]'
 | |
| while [[ -v a ]]; do typeset -p a; unset a; done
 | |
| typeset -p b
 | |
| 
 | |
| add_X_echo()
 | |
| {
 | |
| 	typeset -n ref=$1
 | |
| 	ref+=X
 | |
| 	echo inside $ref
 | |
| }
 | |
| 
 | |
| ref=
 | |
| add_X_echo ref
 | |
| echo outside "$ref"
 | |
| unset ref
 | |
| 
 | |
| typeset -n ref=ref
 | |
| 
 | |
| typeset -n ref=re ref+=f
 | |
| typeset -p ref
 | |
| ref=4
 | |
| typeset -p ref re
 | |
| 
 | |
| export ref
 | |
| printenv ref
 | |
| printenv re
 | |
| 
 | |
| unset ref ; unset -n ref
 | |
| unset foo; unset -n foo
 | |
| 
 | |
| typeset -n foo=var[@]
 | |
| typeset -p foo
 | |
| typeset -n ref=var ref+=[@]
 | |
| typeset -p ref
 | |
| 
 | |
| ref=42
 | |
| 
 | |
| typeset -n bar
 | |
| bar=var[@]
 | |
| typeset -p bar
 | |
| bar=7
 | |
| 
 | |
| unset a b
 | |
| unset -n a b
 | |
| 
 | |
| typeset -n a=b b
 | |
| b=a[1]
 | |
| typeset -p a b
 | |
| a=foo
 | |
| typeset -p a b
 | |
| 
 | |
| unset a
 | |
| typeset -n a=b
 | |
| declare a=foo
 | |
| typeset -p a b
 | |
| 
 | |
| unset n v
 | |
| unset -n n v
 | |
| 
 | |
| v=(0 1)
 | |
| typeset -n n=v
 | |
| unset n[0]
 | |
| typeset -p n v
 | |
| 
 | |
| unset -n n
 | |
| 
 | |
| v=(0 1)
 | |
| typeset -n n=v
 | |
| unset -n n
 | |
| typeset -p n v
 | |
| 
 | |
| v=(0 1)
 | |
| declare -n n=v[1]
 | |
| unset n
 | |
| declare -p n v
 | |
| 
 | 
