MPE/iX Shell and Utilities Reference Manual, Vol 2
read(1) MPE/iX Shell and Utilities read(1)
NAME
read — input a line to the shell
SYNOPSIS
read [–prs][–u[d]] [variable?prompt][variable ...]
DESCRIPTION
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
(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 separates fields. 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
con-
tains blanks, tabs and/or escaped newlines, read considers a sequence of multiple blanks,
tabs, and/or escaped newlines to be a single field separator. For example, abhas 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 of 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 end-of-file.
When the first variable parameter has the form
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.
Options
read accepts the following options:
–p receives input from a co-process. For a description of a co-process, see sh(1).
–r reads input in raw mode, ignoring escape conventions. For example, it does not
interpret a final backslash (\) as a line continuation character, but as part of the input.
–s adds input to the command history file as well as to the variables.
1-478 Commands and Utilities