read - Reads a line from standard input
read [-r] var...
Interfaces documented on this reference page conform to industry standards as follows:
read: XPG4, XPG4-UNIX
Refer to the
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 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 backslash, unless the -r option is specified. A here-document is not terminated 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 second 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 strings.
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 following, it does not affect the shell variables in the caller's environment:
(read foo) nohup read ... find . -exec read ... \;
option is included to enable
to subsume the purpose of the obsolete
The results are undefined if an end-of-file is detected following a
backslash at the end of a line when
is not specified.
The following exit values are returned:
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
printf "%s %s\n" "$yy" "$xx" done < input_file
The following environment variables affect the execution of
Determines the internal field separators used to delimit fields.
Provides a default value for the internationalization variables
that are unset or null. If
is unset or null, the corresponding value from the default locale is used.
If any of the internationalization variables contain an invalid setting,
the utility behaves as if none of the variables had been defined.
If set to a non-empty string value, overrides 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
multibyte 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 processing
Provides the prompt string that an interactive shell will
write to standard error when a line ending with a backslash is read and the
option was not specified, or if a here-document is not terminated
after a newline character is entered.