98 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
	
		
			2.3 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"- )
 | |
| 
 | |
| # make sure that CTLESC and CTLNUL are passed through correctly
 | |
| echo $'\001' | ( read var ; recho "$var" )
 | |
| echo $'\001' | ( read ; recho "$REPLY" )
 | |
| 
 | |
| echo $'\177' | ( read var ; recho "$var" )
 | |
| echo $'\177' | ( read ; recho "$REPLY" )
 | |
| 
 | |
| # make sure a backslash-quoted \\n still disappears from the input when
 | |
| # we're not reading in `raw' mode, and no stray CTLESC chars are left in
 | |
| # the input stream
 | |
| echo $'ab\\\ncd' | ( read ; recho "$REPLY" )
 | |
| 
 | |
| 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"; }
 | |
| 
 | |
| # test read -d delim behavior
 | |
| ${THIS_SH} ./read1.sub
 | |
| 
 | |
| # test read -t timeout behavior
 | |
| ${THIS_SH} ./read2.sub
 | |
| 
 | |
| # test read -n nchars behavior
 | |
| ${THIS_SH} ./read3.sub
 | |
| 
 | |
| # test read -u fd behavior
 | |
| ${THIS_SH} ./read4.sub
 | |
| 
 | |
| # test behavior when IFS is not the default -- bug through bash-2.05b
 | |
| ${THIS_SH} ./read5.sub
 | |
| 
 | |
| # test behavior of read -t 0
 | |
| ${THIS_SH} ./read6.sub
 | 
