diff options
Diffstat (limited to 'man1p/read.1p')
-rw-r--r-- | man1p/read.1p | 214 |
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 . |