69 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| echo " a " | (read x; echo "$x.")
 | |
| 
 | |
| echo " a  b  " | ( read x y ; echo -"$x"-"$y"- )
 | |
| echo " a  b\ " | ( read x y ; echo -"$x"-"$y"- )
 | |
| echo " a  b  " | ( read x ; echo -"$x"- )
 | |
| echo " a  b\ " | ( read x ; echo -"$x"- )
 | |
| 
 | |
| echo " a  b\ " | ( read -r x y ; echo -"$x"-"$y"- )
 | |
| echo " a  b\ " | ( read -r x ; echo -"$x"- )
 | |
| 
 | |
| echo "\ a  b\ " | ( read -r x y ; echo -"$x"-"$y"- )
 | |
| echo "\ a  b\ " | ( read -r x ; echo -"$x"- )
 | |
| echo " \ a  b\ " | ( read -r x y ; echo -"$x"-"$y"- )
 | |
| echo " \ a  b\ " | ( read -r x ; echo -"$x"- )
 | |
| 
 | |
| echo "A B " > /tmp/IN
 | |
| unset x y z
 | |
| read x y z < /tmp/IN
 | |
| echo 1: "x[$x] y[$y] z[$z]"
 | |
| echo 1a: ${z-z not set}
 | |
| read x < /tmp/IN
 | |
| echo 2: "x[$x]"
 | |
| rm /tmp/IN
 | |
| 
 | |
| # this is where the bash `read' behavior with respect to $REPLY differs
 | |
| # from ksh93
 | |
| echo "A B " > /tmp/IN
 | |
| 
 | |
| read < /tmp/IN
 | |
| echo "[$REPLY]"
 | |
| 
 | |
| rm /tmp/IN
 | |
| 
 | |
| echo " A B " > /tmp/IN
 | |
| 
 | |
| read < /tmp/IN
 | |
| echo "[$REPLY]"
 | |
| 
 | |
| rm /tmp/IN
 | |
| 
 | |
| # make sure that read with more variables than words sets the extra
 | |
| # variables to the empty string
 | |
| 
 | |
| bvar=bvar
 | |
| cvar=cvar
 | |
| echo aa > /tmp/IN
 | |
| read avar bvar cvar < /tmp/IN
 | |
| echo =="$avar"==
 | |
| echo =="$bvar"==
 | |
| echo =="$cvar"==
 | |
| 
 | |
| rm /tmp/IN
 | |
| 
 | |
| # test behavior of read with various settings of IFS
 | |
| 
 | |
| echo " foo" | { IFS= read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { IFS= ; read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { unset IFS ; read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { IFS=$'\n' ; read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { IFS=$' \n' ; read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { IFS=$' \t\n' ; read line; recho "$line"; }
 | |
| 
 | |
| echo " foo" | { IFS=$':' ; read line; recho "$line"; }
 | |
| 
 | 
