53 lines
		
	
	
	
		
			471 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
	
		
			471 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								: ${TMPDIR:=/var/tmp}
							 | 
						||
| 
								 | 
							
								SHELLSFILE=$TMPDIR/shells-$$
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cat > $TMPDIR/shells-$$ <<EOF
							 | 
						||
| 
								 | 
							
								/bin/bash
							 | 
						||
| 
								 | 
							
								/bin/csh
							 | 
						||
| 
								 | 
							
								/bin/ksh
							 | 
						||
| 
								 | 
							
								/bin/sh
							 | 
						||
| 
								 | 
							
								/bin/tcsh
							 | 
						||
| 
								 | 
							
								/bin/zsh
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								oclosev()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								exec {v}>&-
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iclosev()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								exec {v}<&-
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec {v}>&1
							 | 
						||
| 
								 | 
							
								echo $v
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo foo 1 >&$v
							 | 
						||
| 
								 | 
							
								echo foo 2 >&$v
							 | 
						||
| 
								 | 
							
								echo foo 3 >&$v
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								oclosev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec {v}<$SHELLSFILE
							 | 
						||
| 
								 | 
							
								echo $v
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								while read line <&$v
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
									echo $line
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iclosev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type oclosev
							 | 
						||
| 
								 | 
							
								type iclosev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								while read -r -u ${fd}
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
									echo $REPLY
							 | 
						||
| 
								 | 
							
								done {fd}<$SHELLSFILE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rm -f $SHELLSFILE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exit 0
							 |