write.1p (7523B)
- '\" et
- .TH WRITE "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- write
- \(em write to another user
- .SH SYNOPSIS
- .LP
- .nf
- write \fIuser_name \fB[\fIterminal\fB]\fR
- .fi
- .SH DESCRIPTION
- The
- .IR write
- utility shall read lines from the standard input and write them
- to the terminal of the specified user. When first invoked, it shall
- write the message:
- .sp
- .RS 4
- .nf
- \fBMessage from \fIsender-login-id\fR (\fIsending-terminal\fR) \fB[\fIdate\fB]\fR...
- .fi
- .P
- .RE
- .P
- to
- .IR user_name .
- When it has successfully completed the connection, the sender's
- terminal shall be alerted twice to indicate that what the sender is
- typing is being written to the recipient's terminal.
- .P
- If the recipient wants to reply, this can be accomplished by typing:
- .sp
- .RS 4
- .nf
- write \fIsender-login-id \fB[\fIsending-terminal\fB]\fR
- .fi
- .P
- .RE
- .P
- upon receipt of the initial message. Whenever a line of input as
- delimited by an NL, EOF, or EOL special character (see the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 11" ", " "General Terminal Interface")
- is accumulated while in canonical input mode, the accumulated data shall
- be written on the other user's terminal. Characters shall be processed
- as follows:
- .IP " *" 4
- Typing
- <alert>
- shall write the
- <alert>
- character to the recipient's terminal.
- .IP " *" 4
- Typing the erase and kill characters shall affect the sender's terminal
- in the manner described by the
- .BR termios
- interface in the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 11" ", " "General Terminal Interface".
- .IP " *" 4
- Typing the interrupt or end-of-file characters shall cause
- .IR write
- to write an appropriate message (\c
- .BR \(dqEOT\en\(dq
- in the POSIX locale) to the recipient's terminal and exit.
- .IP " *" 4
- Typing characters from
- .IR LC_CTYPE
- classifications
- .BR print
- or
- .BR space
- shall cause those characters to be sent to the recipient's terminal.
- .IP " *" 4
- When and only when the
- .IR stty
- .BR iexten
- local mode is enabled, the existence and processing of additional
- special control characters and multi-byte or single-byte functions is
- implementation-defined.
- .IP " *" 4
- Typing other non-printable characters shall cause
- implementation-defined sequences of printable characters to be
- written to the recipient's terminal.
- .P
- To write to a user who is logged in more than once, the
- .IR terminal
- argument can be used to indicate which terminal to write to; otherwise,
- the recipient's terminal is selected in an implementation-defined
- manner and an informational message is written to the sender's standard
- output, indicating which terminal was chosen.
- .P
- Permission to be a recipient of a
- .IR write
- message can be denied or granted by use of the
- .IR mesg
- utility. However, a user's privilege may further constrain the domain
- of accessibility of other users' terminals. The
- .IR write
- utility shall fail when the user lacks appropriate privileges to
- perform the requested action.
- .SH OPTIONS
- None.
- .SH OPERANDS
- .br
- The following operands shall be supported:
- .IP "\fIuser_name\fR" 10
- Login name of the person to whom the message shall be written. The
- application shall ensure that this operand is of the form returned by
- the
- .IR who
- utility.
- .IP "\fIterminal\fR" 10
- Terminal identification in the same format provided by the
- .IR who
- utility.
- .SH STDIN
- Lines to be copied to the recipient's terminal are read from standard
- input.
- .SH "INPUT FILES"
- None.
- .SH "ENVIRONMENT VARIABLES"
- The following environment variables shall affect the execution of
- .IR write :
- .IP "\fILANG\fP" 10
- Provide a default value for the internationalization variables that are
- unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 8.2" ", " "Internationalization Variables"
- for the precedence of internationalization variables used to determine
- the values of locale categories.)
- .IP "\fILC_ALL\fP" 10
- If set to a non-empty string value, override the values of all the
- other internationalization variables.
- .IP "\fILC_CTYPE\fP" 10
- 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 and input files). If the
- recipient's locale does not use an
- .IR LC_CTYPE
- equivalent to the sender's, the results are undefined.
- .IP "\fILC_MESSAGES\fP" 10
- .br
- Determine the locale that should be used to affect the format and
- contents of diagnostic messages written to standard error and
- informative messages written to standard output.
- .IP "\fINLSPATH\fP" 10
- Determine the location of message catalogs for the processing of
- .IR LC_MESSAGES .
- .SH "ASYNCHRONOUS EVENTS"
- If an interrupt signal is received,
- .IR write
- shall write an appropriate message on the recipient's terminal and
- exit with a status of zero. It shall take the standard action for all
- other signals.
- .SH STDOUT
- An informational message shall be written to standard output if a
- recipient is logged in more than once.
- .SH STDERR
- The standard error shall be used only for diagnostic messages.
- .SH "OUTPUT FILES"
- The recipient's terminal is used for output.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- The following exit values shall be returned:
- .IP "\00" 6
- Successful completion.
- .IP >0 6
- The addressed user is not logged on or the addressed user denies
- permission.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- The
- .IR talk
- utility is considered by some users to be a more usable utility on
- full-screen terminals.
- .SH EXAMPLES
- None.
- .SH RATIONALE
- The
- .IR write
- utility was included in this volume of POSIX.1\(hy2017 since it can be implemented on all
- terminal types. The standard developers considered the
- .IR talk
- utility, which cannot be implemented on certain terminals, to be a
- ``better'' communications interface. Both of these programs are in
- widespread use on historical implementations. Therefore, the standard
- developers decided that both utilities should be specified.
- .P
- The format of the terminal name is unspecified, but the descriptions of
- .IR ps ,
- .IR talk ,
- .IR who ,
- and
- .IR write
- require that they all use or accept the same format.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fImesg\fR\^",
- .IR "\fItalk\fR\^",
- .IR "\fIwho\fR\^"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 8" ", " "Environment Variables",
- .IR "Chapter 11" ", " "General Terminal Interface"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 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 .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .