69 lines
		
	
	
	
		
			763 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 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
 | 
