]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/read.tests
Imported from ../bash-2.01.tar.gz.
[thirdparty/bash.git] / tests / read.tests
1 echo " a " | (read x; echo "$x.")
2
3 echo " a b " | ( read x y ; echo -"$x"-"$y"- )
4 echo " a b\ " | ( read x y ; echo -"$x"-"$y"- )
5 echo " a b " | ( read x ; echo -"$x"- )
6 echo " a b\ " | ( read x ; echo -"$x"- )
7
8 echo " a b\ " | ( read -r x y ; echo -"$x"-"$y"- )
9 echo " a b\ " | ( read -r x ; echo -"$x"- )
10
11 echo "\ a b\ " | ( read -r x y ; echo -"$x"-"$y"- )
12 echo "\ a b\ " | ( read -r x ; echo -"$x"- )
13 echo " \ a b\ " | ( read -r x y ; echo -"$x"-"$y"- )
14 echo " \ a b\ " | ( read -r x ; echo -"$x"- )
15
16 echo "A B " > /tmp/IN
17 unset x y z
18 read x y z < /tmp/IN
19 echo 1: "x[$x] y[$y] z[$z]"
20 echo 1a: ${z-z not set}
21 read x < /tmp/IN
22 echo 2: "x[$x]"
23 rm /tmp/IN
24
25 # this is where the bash `read' behavior with respect to $REPLY differs
26 # from ksh93
27 echo "A B " > /tmp/IN
28
29 read < /tmp/IN
30 echo "[$REPLY]"
31
32 rm /tmp/IN
33
34 echo " A B " > /tmp/IN
35
36 read < /tmp/IN
37 echo "[$REPLY]"
38
39 rm /tmp/IN
40
41 # make sure that read with more variables than words sets the extra
42 # variables to the empty string
43
44 bvar=bvar
45 cvar=cvar
46 echo aa > /tmp/IN
47 read avar bvar cvar < /tmp/IN
48 echo =="$avar"==
49 echo =="$bvar"==
50 echo =="$cvar"==
51
52 rm /tmp/IN
53
54 # test behavior of read with various settings of IFS
55
56 echo " foo" | { IFS= read line; recho "$line"; }
57
58 echo " foo" | { IFS= ; read line; recho "$line"; }
59
60 echo " foo" | { unset IFS ; read line; recho "$line"; }
61
62 echo " foo" | { IFS=$'\n' ; read line; recho "$line"; }
63
64 echo " foo" | { IFS=$' \n' ; read line; recho "$line"; }
65
66 echo " foo" | { IFS=$' \t\n' ; read line; recho "$line"; }
67
68 echo " foo" | { IFS=$':' ; read line; recho "$line"; }
69