read [–prs] [–u[d]] [variable?prompt ] [variable …]
When you call read without options, it reads one line from the standard input, breaks the line into fields, and assigns the fields to each variable in order.
To determine where to break the line into fields, read uses the built-in variable IFS (which stands for internal field separator). Encountering any of the characters in IFS means the end of one field and the beginning of the next. The default value of IFS is blank, tab, and newline.
In general, a single IFS character marks the end of one field and the beginning of the next. For example, if IFS is colon (:), read considers the input a::b to have three fields: a, an empty field, and b. However, if IFS contains blanks, tabs or escaped newlines, read considers a sequence of multiple blanks, tabs, or escaped newlines to be a single field separator. For example, "a b" has two fields, even though there are several blanks between the a and b.
The nth variable in the command line is assigned the nth field. If there are more input fields than there are variables, the last variable is assigned all the unassigned fields. If there are more variables than fields, the extra variables are assigned the null string ("").
The environment variable REPLY is assigned the input when no variables are given. The exit status of read is 0, unless it encounters the end of the file.
variable?prompt
it defines a prompt for input. If the shell is interactive, read sends
the prompt to the file descriptor d if it is open
for write and is a terminal device. The default file descriptor for
the prompt is 2.IFS=':'
while read name junk junk1 junk2 junk3
do
echo $name
done </samples/comics.lst
provides a list of comic
names from the sample comics.lst file.See Localization for more information.
read is a built-in shell command.
POSIX.2, X/Open Portability Guide.
The –p, –s, and –u options are extensions of the POSIX standard.
continue, fc, print, sh