write(1)




NAME

     write - write to another user


SYNOPSIS

     write user [terminal]


DESCRIPTION

     The write utility reads lines from the user's standard input
     and  writes them to the terminal of another user. When first
     invoked, it writes the message:

     Message from sender-login-id (sending-terminal) [date]...

     to user. When it has successfully completed the  connection,
     the sender's terminal will 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 a NL, EOF, or EOL special character is
     accumulated while in canonical input mode,  the  accumulated
     data  will  be written on the other user's terminal. Charac-
     ters are processed as follows:

        o  Typing the alert character will write the alert  char-
           acter to the recipient's terminal.

        o  Typing the erase and kill characters will  affect  the
           sender's  terminal  in  the  manner  described  by the
           termios(3C) interface.

        o  Typing the interrupt or  end-of-file  characters  will
           cause  write to write an appropriate message (EOT\n in
           the "C" locale) to the recipient's terminal and exit.

        o  Typing characters from LC_CTYPE classifications  print
           or space will cause those characters to be sent to the
           recipient's terminal.

        o  When and only when  the  stty  iexten  local  mode  is
           enabled,  additional  special  control  characters and
           multi-byte or single-byte characters are processed  as
           printable   characters   if   their   wide   character
           equivalents are printable.

        o  Typing other non-printable characters will cause  them
           to  be written to the recipient's terminal as follows:
           control characters will appear as a  `^'  followed  by
           the  appropriate  ASCII character, and characters with
           the high-order bit set will appear in "meta" notation.
           For example, `\003' is displayed as `^C' and `\372' as
           `M-z'.

     To write to a user who is logged in more than once, the ter-
     minal  argument  can  be  used to indicate which terminal to
     write to. Otherwise, the recipient's terminal is  the  first
     writable  instance  of the user found in /usr/adm/utmpx, and
     the following informational message will be written  to  the
     sender's  standard  output,  indicating  which  terminal was
     chosen:

     user is logged on more than one place.
     You are connected to terminal.
     Other locations are:terminal

     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  acces-
     sibility  of  other users' terminals. The write utility will
     fail when the user lacks the appropriate privileges to  per-
     form the requested action.

     If the character ! is found at  the  beginning  of  a  line,
     write  calls  the shell to execute the rest of the line as a
     command.

     write runs setgid() (see setuid(2)) to the group ID tty,  in
     order to have write permissions on other user's terminals.

     The following protocol is suggested for  using  write:  when
     you first write to another user, wait for them to write back
     before starting to send. Each person should  end  a  message
     with  a  distinctive  signal  (that is, (o) for ``over'') so
     that the other person knows when to reply. The  signal  (oo)
     (for  ``over and out'') is suggested when conversation is to
     be terminated.


OPERANDS

     The following operands are supported:

     user  User (login) name of the person to  whom  the  message
           will  be  written.  This  operand  must be of the form
           returned by the who(1) utility.

     terminal
           Terminal identification in the same format provided by
           the who utility.


ENVIRONMENT VARIABLES

     See environ(5) for descriptions of the following environment
     variables  that affect the execution of write: LANG, LC_ALL,
     LC_CTYPE, LC_MESSAGES, and NLSPATH.


EXIT STATUS

     The following exit values are returned:

     0     Successful completion.

     >0    The addressed user is not logged on or  the  addressed
           user denies permission.


FILES

     /var/adm/utmpx
           user and accounting information for write

     /usr/bin/sh
           Bourne shell executable file


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|
    | CSI                         | enabled                     |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|


SEE ALSO

     mail(1), mesg(1), pr(1), sh(1), talk(1), who(1), setuid (2),
     termios(3C), attributes(5), environ(5), standards(5)


DIAGNOSTICS

     user is not logged on
           The person you are trying to write to  is  not  logged
           on.

     Permission denied
           The person you are trying to write to denies that per-
           mission (with mesg).

     Warning: cannot respond, set mesg -y
           Your terminal is set to mesg n and the recipient  can-
           not respond to you.

     Can no longer write to user
           The recipient has denied permission (mesg n) after you
           had started writing.


Man(1) output converted with man2html