summaryrefslogtreecommitdiffstats
path: root/man1p/read.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man1p/read.1p')
-rw-r--r--man1p/read.1p214
1 files changed, 214 insertions, 0 deletions
diff --git a/man1p/read.1p b/man1p/read.1p
new file mode 100644
index 000000000..daf4e3ad0
--- /dev/null
+++ b/man1p/read.1p
@@ -0,0 +1,214 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "READ" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" read
+.SH NAME
+read \- read a line from standard input
+.SH SYNOPSIS
+.LP
+\fBread\fP \fB[\fP\fB-r\fP\fB]\fP \fIvar\fP\fB...\fP
+.SH DESCRIPTION
+.LP
+The \fIread\fP utility shall read a single line from standard input.
+.LP
+By default, unless the \fB-r\fP option is specified, backslash ( \fB'\\'\fP
+) shall act as an escape character, as described
+in \fIEscape Character (Backslash)\fP . If standard input is a terminal
+device and the
+invoking shell is interactive, \fIread\fP shall prompt for a continuation
+line when:
+.IP " *" 3
+The shell reads an input line ending with a backslash, unless the
+\fB-r\fP option is specified.
+.LP
+.IP " *" 3
+A here-document is not terminated after a <newline> is entered.
+.LP
+.LP
+The line shall be split into fields as in the shell (see \fIField
+Splitting\fP );
+the first field shall be assigned to the first variable \fIvar\fP,
+the second field to the second variable \fIvar\fP, and so on.
+If there are fewer \fIvar\fP operands specified than there are fields,
+the leftover fields and their intervening separators shall
+be assigned to the last \fIvar\fP. If there are fewer fields than
+\fIvar\fPs, the remaining \fIvar\fPs shall be set to empty
+strings.
+.LP
+The setting of variables specified by the \fIvar\fP operands shall
+affect the current shell execution environment; see \fIShell Execution
+Environment\fP . If it is called in a subshell or separate utility
+execution
+environment, such as one of the following:
+.sp
+.RS
+.nf
+
+\fB(read foo)
+nohup read ...
+find . -exec read ... \\;
+\fP
+.fi
+.RE
+.LP
+it shall not affect the shell variables in the caller's environment.
+.SH OPTIONS
+.LP
+The \fIread\fP utility shall conform to the Base Definitions volume
+of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
+.LP
+The following option is supported:
+.TP 7
+\fB-r\fP
+Do not treat a backslash character in any special way. Consider each
+backslash to be part of the input line.
+.sp
+.SH OPERANDS
+.LP
+The following operand shall be supported:
+.TP 7
+\fIvar\fP
+The name of an existing or nonexisting shell variable.
+.sp
+.SH STDIN
+.LP
+The standard input shall be a text file.
+.SH INPUT FILES
+.LP
+None.
+.SH ENVIRONMENT VARIABLES
+.LP
+The following environment variables shall affect the execution of
+\fIread\fP:
+.TP 7
+\fIIFS\fP
+Determine the internal field separators used to delimit fields; see
+\fIShell
+Variables\fP .
+.TP 7
+\fILANG\fP
+Provide a default value for the internationalization variables that
+are unset or null. (See the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
+for
+the precedence of internationalization variables used to determine
+the values of locale categories.)
+.TP 7
+\fILC_ALL\fP
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.TP 7
+\fILC_CTYPE\fP
+Determine 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).
+.TP 7
+\fILC_MESSAGES\fP
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard
+error.
+.TP 7
+\fINLSPATH\fP
+Determine the location of message catalogs for the processing of \fILC_MESSAGES
+\&.\fP
+.TP 7
+\fIPS2\fP
+Provide the prompt string that an interactive shell shall write to
+standard error when a line ending with a backslash is read
+and the \fB-r\fP option was not specified, or if a here-document is
+not terminated after a <newline> is entered.
+.sp
+.SH ASYNCHRONOUS EVENTS
+.LP
+Default.
+.SH STDOUT
+.LP
+Not used.
+.SH STDERR
+.LP
+The standard error shall be used for diagnostic messages and prompts
+for continued input.
+.SH OUTPUT FILES
+.LP
+None.
+.SH EXTENDED DESCRIPTION
+.LP
+None.
+.SH EXIT STATUS
+.LP
+The following exit values shall be returned:
+.TP 7
+\ 0
+Successful completion.
+.TP 7
+>0
+End-of-file was detected or an error occurred.
+.sp
+.SH CONSEQUENCES OF ERRORS
+.LP
+Default.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+The \fB-r\fP option is included to enable \fIread\fP to subsume the
+purpose of the \fIline\fP utility, which is not included
+in IEEE\ Std\ 1003.1-2001.
+.LP
+The results are undefined if an end-of-file is detected following
+a backslash at the end of a line when \fB-r\fP is not
+specified.
+.SH EXAMPLES
+.LP
+The following command:
+.sp
+.RS
+.nf
+
+\fBwhile read -r xx yy
+do
+ printf "%s %s\\n" "$yy" "$xx"
+done <\fP \fIinput_file\fP
+.fi
+.RE
+.LP
+prints a file with the first field of each line moved to the end of
+the line.
+.SH RATIONALE
+.LP
+The \fIread\fP utility historically has been a shell built-in. It
+was separated off into its own utility to take advantage of
+the richer description of functionality introduced by this volume
+of IEEE\ Std\ 1003.1-2001.
+.LP
+Since \fIread\fP affects the current shell execution environment,
+it is generally provided as a shell regular built-in. If it
+is called in a subshell or separate utility execution environment,
+such as one of the following:
+.sp
+.RS
+.nf
+
+\fB(read foo)
+nohup read ...
+find . -exec read ... \\;
+\fP
+.fi
+.RE
+.LP
+it does not affect the shell variables in the environment of the caller.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIShell Command Language\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .