70 lines
		
	
	
	
		
			763 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
	
		
			763 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								# weird redirections that caused trouble and were fixed in post-3.0 bash
							 | 
						||
| 
								 | 
							
								stuff()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									c=1
							 | 
						||
| 
								 | 
							
									( sleep 5 < /dev/null >/dev/null 2>&1 & ) &
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec 3>&1
							 | 
						||
| 
								 | 
							
								eval `
							 | 
						||
| 
								 | 
							
								exec 4>&1 >&3 3>&-
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									stuff 4>&-
							 | 
						||
| 
								 | 
							
									echo "c=$c" >&4
							 | 
						||
| 
								 | 
							
								}`
							 | 
						||
| 
								 | 
							
								echo c1 is $c
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								unset -f stuff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								stuff()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									c=2
							 | 
						||
| 
								 | 
							
									( sleep 5 < /dev/null >/dev/null 2>&1 & )
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec 3>&1
							 | 
						||
| 
								 | 
							
								eval `
							 | 
						||
| 
								 | 
							
								exec 4>&1 >&3 3>&-
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									stuff 4>&-
							 | 
						||
| 
								 | 
							
									echo "c=$c" >&4
							 | 
						||
| 
								 | 
							
								}`
							 | 
						||
| 
								 | 
							
								echo c2 is $c
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								unset -f stuff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								stuff()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									c=3
							 | 
						||
| 
								 | 
							
									{ sleep 5 < /dev/null >/dev/null 2>&1 & } &
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec 3>&1
							 | 
						||
| 
								 | 
							
								eval `
							 | 
						||
| 
								 | 
							
								exec 4>&1 >&3 3>&-
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									stuff 4>&-
							 | 
						||
| 
								 | 
							
									echo "c=$c" >&4
							 | 
						||
| 
								 | 
							
								}`
							 | 
						||
| 
								 | 
							
								echo c3 is $c
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								unset -f stuff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								stuff()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									c=4
							 | 
						||
| 
								 | 
							
									{ sleep 5 < /dev/null >/dev/null 2>&1 & }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec 3>&1
							 | 
						||
| 
								 | 
							
								eval `
							 | 
						||
| 
								 | 
							
								exec 4>&1 >&3 3>&-
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									stuff 4>&-
							 | 
						||
| 
								 | 
							
									echo "c=$c" >&4
							 | 
						||
| 
								 | 
							
								}`
							 | 
						||
| 
								 | 
							
								echo c4 is $c
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# fixed in bash-3.1
							 | 
						||
| 
								 | 
							
								echo 'exec <&3' | ${THIS_SH} 3<&0
							 |