~ubuntu-branches/ubuntu/warty/bash/warty

« back to all changes in this revision

Viewing changes to tests/read.tests

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2002-04-08 20:51:41 UTC
  • Revision ID: james.westby@ubuntu.com-20020408205141-qovkhu3a90201hf2
Tags: upstream-2.05a
ImportĀ upstreamĀ versionĀ 2.05a

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
# make sure that CTLESC and CTLNUL are passed through correctly
 
17
echo $'\001' | ( read var ; recho "$var" )
 
18
echo $'\001' | ( read ; recho "$REPLY" )
 
19
 
 
20
echo $'\177' | ( read var ; recho "$var" )
 
21
echo $'\177' | ( read ; recho "$REPLY" )
 
22
 
 
23
# make sure a backslash-quoted \\n still disappears from the input when
 
24
# we're not reading in `raw' mode, and no stray CTLESC chars are left in
 
25
# the input stream
 
26
echo $'ab\\\ncd' | ( read ; recho "$REPLY" )
 
27
 
 
28
echo "A B " > /tmp/IN
 
29
unset x y z
 
30
read x y z < /tmp/IN
 
31
echo 1: "x[$x] y[$y] z[$z]"
 
32
echo 1a: ${z-z not set}
 
33
read x < /tmp/IN
 
34
echo 2: "x[$x]"
 
35
rm /tmp/IN
 
36
 
 
37
# this is where the bash `read' behavior with respect to $REPLY differs
 
38
# from ksh93
 
39
echo "A B " > /tmp/IN
 
40
 
 
41
read < /tmp/IN
 
42
echo "[$REPLY]"
 
43
 
 
44
rm /tmp/IN
 
45
 
 
46
echo " A B " > /tmp/IN
 
47
 
 
48
read < /tmp/IN
 
49
echo "[$REPLY]"
 
50
 
 
51
rm /tmp/IN
 
52
 
 
53
# make sure that read with more variables than words sets the extra
 
54
# variables to the empty string
 
55
 
 
56
bvar=bvar
 
57
cvar=cvar
 
58
echo aa > /tmp/IN
 
59
read avar bvar cvar < /tmp/IN
 
60
echo =="$avar"==
 
61
echo =="$bvar"==
 
62
echo =="$cvar"==
 
63
 
 
64
rm /tmp/IN
 
65
 
 
66
# test behavior of read with various settings of IFS
 
67
 
 
68
echo " foo" | { IFS= read line; recho "$line"; }
 
69
 
 
70
echo " foo" | { IFS= ; read line; recho "$line"; }
 
71
 
 
72
echo " foo" | { unset IFS ; read line; recho "$line"; }
 
73
 
 
74
echo " foo" | { IFS=$'\n' ; read line; recho "$line"; }
 
75
 
 
76
echo " foo" | { IFS=$' \n' ; read line; recho "$line"; }
 
77
 
 
78
echo " foo" | { IFS=$' \t\n' ; read line; recho "$line"; }
 
79
 
 
80
echo " foo" | { IFS=$':' ; read line; recho "$line"; }
 
81
 
 
82
# test read -d delim behavior
 
83
${THIS_SH} ./read1.sub
 
84
 
 
85
# test read -t timeout behavior
 
86
${THIS_SH} ./read2.sub
 
87
 
 
88
# test read -n nchars behavior
 
89
${THIS_SH} ./read3.sub