Provided by: manpages-posix_2.16-1_all bug

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 delimited 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 terminal in  the  manner
          described   by   the   termios   interface   in   the   Base   Definitions   volume  of
          IEEE Std 1003.1-2001, Chapter 11, General Terminal 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 existence 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 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.

       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' terminals. 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 Variables 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 utility 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 developers considered the 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.

       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 .