read
read [ -rszpqAclneE ] [ -t [ num ] ] [ -k [ num ] ] [ -d delim
] [ -u n ] [ name[?prompt] ] [ name ... ] 
Read one line and break it into fields using the characters in $IFS as
separators, except as noted below. The first field is assigned to the first name,
the second field to the second name, and so on, with leftover
fields assigned to the last name. If name is
omitted then REPLY is used for scalars and reply for arrays. 
| Option | Description | 
|  -r | Raw mode: a \at the end of a line does not signify
line continuation and backslashes in the line don't quote the following character
and are not removed. | 
|  -s | Don't echo back characters if reading from the terminal. Currently
does not work with the -qoption. | 
|  -q | Read only one character from the terminal and set nametoyif
this character wasyorYand tonotherwise.
With this flag set the return value is zero only if the character wasyorY.
Note that this always reads from the terminal, even if used with the -p or-uor-z flags
or with redirected input. This option may also be used withinzlewidgets. | 
|  -k[num] | Read only one (or num) characters. All are assigned
to the firstname, without word splitting. This flag is ignored
when-q is present. Input is read from the terminal unless
one of-uor-pis present. This option
may also be used withinzlewidgets. | 
|  -z | Read one entry from the editor buffer stack and assign it to the
first name, without word splitting. Text is pushed onto the
stack withprint -zor withpush-linefrom
the line editor. This flag is ignored when the-kor-qflags
are present. | 
|  -A | The first nameis taken as thenameof
an array and all words are assigned to it. | 
|  -n | Together with -c, the number of the word the cursor
is on is read. With-l, the index of the character the cursor
is on is read. Note that the commandnameis word number
1, not word 0, and that when the cursor is at the end of the line, its character
index is the length of the line plus one. | 
|  -u n | Input is read from file descriptor n. | 
|  -d delim  | Input is terminated by the first character of deliminstead
of by newline. | 
|  -t [ num ]  | Test if input is available before attempting to read. If numis
present, it must begin with a digit and will be evaluated to give a number
of seconds, which may be a floating point number; in this case the read times
out if input is not available within this time. Ifnumis
not present, it is taken to be zero, so that read returns immediately if no
input is available. If no input is available, return status 1 and do not set
any variables. This option is not available when reading from the
editor buffer with -z, when called from within completion
with-cor-l, with-qwhich
clears the input queue before reading, or withinzlewhere
other mechanisms should be used to test for input. Note: readdoes
not attempt to alter the input processing mode. The default mode is canonical
input, in which an entire line is read at a time, so usuallyread
-twill not read anything until an entire line has been typed. However,
when reading from the terminal with-kinput is processed
one key at a time; in this case, only availability of the first character
is tested, for exampleread -t -k                 2can still
block on the second character. Use two instances ofread -t -kif
this is not what is wanted. | 
|  ? | If the first argument contains a ?, the remainder
of this word is used as a prompt on standard error when the shell is interactive. | 
The value (exit status) of read is 1 when an end-of-file
is encountered, or as described for -q. Otherwise the value
is 0. 
The behavior of some combinations of the -k, -p, -q, -u and -z flags is undefined. Presently -q cancels all the others, -p cancels -u, -k cancels -z, and otherwise -z cancels both -p and -u. 
 Note: The Symbian platform does not support the use
of -c or -l option.