read(1)read(1)NAMEread - Reads a line from standard input
SYNOPSISread [-r] var...
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
Do not treat a backslash character in any special way. Consider each
backslash to be part of the input line.
The -r option is included to enable read to subsume the purpose
of the obsolete line utility.
The name of an existing or non-existing shell variable.
The read utility reads a single line from standard input.
By default, unless the -r option is specified, backslash (\) acts as an
escape character. If standard input is a terminal device and the
invoking shell is interactive, read prompts for a continuation line in
the following cases: The shell reads an input line ending with a back‐
slash, unless the -r option is specified. A here-document is not ter‐
minated after a newline character is entered.
The line is split into fields as in the shell (see the sh(1) reference
page); the first field is assigned to the first variable var, the sec‐
ond field to the second variable var, and so forth. If there are fewer
var parameters specified than there are fields, the leftover fields and
their intervening separators are assigned to the last var. If there
are fewer fields than vars, the remaining vars are set to empty
The setting of variables specified by the var parameters affects the
current shell execution environment. If read is called in a subshell
or separate utility execution environment, such as one of the follow‐
ing, it does not affect the shell variables in the caller's environ‐
(read foo) nohup read ... find . -execread ... \;
The -r option is included to enable read to subsume the purpose of the
obsolete line utility.
The results are undefined if an end-of-file is detected following a
backslash at the end of a line when -r is not specified.
The following exit values are returned: Successful completion. End-of-
file was detected or an error occurred.
The following command prints a file with the first field of each line
moved to the end of the line:
while read-r xx yy do
printf "%s %s\n" "$yy" "$xx" done < input_file
The following environment variables affect the execution of read:
Determines the internal field separators used to delimit fields. Pro‐
vides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from
the default locale is used. If any of the internationalization vari‐
ables contain an invalid setting, the utility behaves as if none of the
variables had been defined. If set to a non-empty string value, over‐
rides the values of all the other internationalization variables.
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to multi‐
byte characters in arguments). Determines the locale used to affect
the format and contents of diagnostic messages written to standard
error. Determines the location of message catalogues for the process‐
ing of LC_MESSAGES. Provides the prompt string that an interactive
shell will write to standard error when a line ending with a backslash
is read and the -r option was not specified, or if a here-document is
not terminated after a newline character is entered.