write - write to another user
write user [terminal]
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
If the recipient wants to reply, this can be accomplished by
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
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
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
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
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
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
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 identification in the same format provided by
the who utility.
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.
The following exit values are returned:
0 Successful completion.
>0 The addressed user is not logged on or the addressed
user denies permission.
user and accounting information for write
Bourne shell executable file
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
| CSI | enabled |
| Interface Stability | Standard |
mail(1), mesg(1), pr(1), sh(1), talk(1), who(1), setuid (2),
termios(3C), attributes(5), environ(5), standards(5)
user is not logged on
The person you are trying to write to is not logged
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