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 |