55 lines
		
	
	
	
		
			636 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
	
		
			636 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# test some posix-mode-specific function behavior
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								set -o posix
							 | 
						||
| 
								 | 
							
								func()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return 5
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								myfunction () {
							 | 
						||
| 
								 | 
							
								    var=20 return
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								var=10
							 | 
						||
| 
								 | 
							
								echo expect 5 10
							 | 
						||
| 
								 | 
							
								func
							 | 
						||
| 
								 | 
							
								echo $? $var
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								myfunction
							 | 
						||
| 
								 | 
							
								echo expect 20
							 | 
						||
| 
								 | 
							
								echo $var
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo expect 5 20
							 | 
						||
| 
								 | 
							
								func
							 | 
						||
| 
								 | 
							
								echo $? $var
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo expect 5 30
							 | 
						||
| 
								 | 
							
								var=30 func
							 | 
						||
| 
								 | 
							
								echo $? $var
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: ${TMPDIR:=/tmp}
							 | 
						||
| 
								 | 
							
								TMPFILE=$TMPDIR/func3.sub.$$
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rm -f $TMPFILE
							 | 
						||
| 
								 | 
							
								echo 'var=40 return 2' > $TMPFILE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# test the behavior of `return' and preceding variable assignments here
							 | 
						||
| 
								 | 
							
								# because it's convenient
							 | 
						||
| 
								 | 
							
								var=10
							 | 
						||
| 
								 | 
							
								echo expect 2 40
							 | 
						||
| 
								 | 
							
								. $TMPFILE
							 | 
						||
| 
								 | 
							
								echo $? $var
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rm -f $TMPFILE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#set -o posix
							 | 
						||
| 
								 | 
							
								var=0
							 | 
						||
| 
								 | 
							
								func()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									var=20 return 5
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo expect 5 20
							 | 
						||
| 
								 | 
							
								var=30 func
							 | 
						||
| 
								 | 
							
								echo $? $var
							 |