WRITE(1P) - phpMan

WRITE(1P)                  POSIX Programmer's Manual                 WRITE(1P)

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.
NAME
       write - write to another user
SYNOPSIS
       write user_name [terminal]
DESCRIPTION
       The write utility shall read lines from the user's standard  input  and
       write  them  to  the  terminal  of another user. When first invoked, it
       shall write the message:

              Message from sender-login-id (sending-terminal) [date]...
       to 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.
       If the recipient wants to reply, this can be accomplished by typing:

              write sender-login-id [sending-terminal]
       upon receipt of the initial message. Whenever a line of input as delim-
       ited  by an NL, EOF, or EOL special character (see the Base Definitions
       volume of IEEE Std 1003.1-2001, 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:
        * Typing  <alert>  shall  write the alert character to the recipient's
          terminal.
        * Typing the erase and kill characters shall affect the sender's  ter-
          minal  in  the manner described by the termios interface in the Base
          Definitions volume of IEEE Std 1003.1-2001, Chapter 11, General Ter-
          minal Interface.
        * Typing  the interrupt or end-of-file characters shall cause write to
          write an appropriate message ( "EOT\n" in the POSIX locale)  to  the
          recipient's terminal and exit.
        * Typing characters from LC_CTYPE classifications print or space shall
          cause those characters to be sent to the recipient's terminal.
        * When and only when the stty iexten local mode is enabled, the  exis-
          tence  and  processing  of additional special control characters and
          multi-byte or single-byte functions is implementation-defined.
        * Typing other non-printable characters  shall  cause  implementation-
          defined  sequences  of  printable  characters  to  be written to the
          recipient's terminal.
       To write to a user who is logged in more than once, the terminal  argu-
       ment 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 out-
       put, indicating which terminal was chosen.
       Permission to be a recipient of  a  write  message  can  be  denied  or
       granted  by  use  of  the mesg utility. However, a user's privilege may
       further constrain the domain of accessibility of  other  users'  termi-
       nals.  The write utility shall fail when the user lacks the appropriate
       privileges to perform the requested action.
OPTIONS
       None.
OPERANDS
       The following operands shall be supported:
       user_name
              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 who utility.
       terminal
              Terminal identification in the same format provided by  the  who
              utility.

STDIN
       Lines  to  be copied to the recipient's terminal are read from standard
       input.
INPUT FILES
       None.
ENVIRONMENT VARIABLES
       The following environment  variables  shall  affect  the  execution  of
       write:
       LANG   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 Vari-
              ables for the precedence of internationalization variables  used
              to determine the values of locale categories.)
       LC_ALL If  set  to a non-empty string value, override the values of all
              the other internationalization variables.
       LC_CTYPE
              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 LC_CTYPE equivalent to
              the sender's, the results are undefined.
       LC_MESSAGES
              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.
       NLSPATH
              Determine the location of message catalogs for the processing of
              LC_MESSAGES .

ASYNCHRONOUS EVENTS
       If  an  interrupt  signal is received, 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.
STDOUT
       An  informational  message  shall  be  written  to standard output if a
       recipient is logged in more than once.
STDERR
       The standard error shall be used only for diagnostic messages.
OUTPUT FILES
       The recipient's terminal is used for output.
EXTENDED DESCRIPTION
       None.
EXIT STATUS
       The following exit values shall be returned:
        0     Successful completion.
       >0     The addressed user is not logged on or the addressed user denies
              permission.

CONSEQUENCES OF ERRORS
       Default.
       The following sections are informative.
APPLICATION USAGE
       The  talk utility is considered by some users to be a more usable util-
       ity on full-screen terminals.
EXAMPLES
       None.
RATIONALE
       The write utility was included in this volume  of  IEEE Std 1003.1-2001
       since  it can be implemented on all terminal types. The standard devel-
       opers considered the talk utility, which cannot be implemented on  cer-
       tain  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.
       The format of the terminal name is unspecified, but the descriptions of
       ps,  talk,  who, and write require that they all use or accept the same
       format.
FUTURE DIRECTIONS
       None.
SEE ALSO
       mesg, talk, who, the Base Definitions volume  of  IEEE Std 1003.1-2001,
       Chapter 11, General Terminal Interface
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 .

IEEE/The Open Group                  2003                            WRITE(1P)