write(1) write(1)
NAME
write - write to another user
SYNOPSIS
write user [line]
DESCRIPTION
write copies lines from your terminal to that of another user.
When first called, it sends the message:
Message from yourname (term/??) [date] . . .
to the person you want to talk to. When it has successfully
completed the connection, it also sends two bells to your own
terminal to indicate that what you are typing is being sent.
The recipient of the message should write back at this point.
Communication continues until an end of file is read from the
terminal, an interrupt is sent, or the recipient has executed
``mesg n.'' At that point write writes EOT on the other
terminal and exits.
If you want to write to a user who is logged in more than
once, the line argument may be used to indicate which line or
terminal to send to (for example, term/12); otherwise, the
first writable instance of the user found in /var/adm/utmp is
assumed and the following message posted:
user is logged on more than one place.
You are connected to ``terminal.''
Other locations are:
terminal
Permission to write may be denied or granted by use of the
mesg command. Writing to others is normally allowed by
default. Certain commands, such as the pr command, disallow
messages in order to prevent interference with their output.
However, if the user has appropriate privilege, messages can
be forced onto a write-inhibited terminal.
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.
Copyright 1994 Novell, Inc. Page 1
write(1) write(1)
write processes supplementary code set characters according to
the locale specified in the LC_CTYPE environment variable [see
LANG on environ(5)]. It will detect non-printable characters
before sending them to the user's terminal. Control
characters will appear as a `^' followed by the appropriate
ASCII character; characters with the high-order bit set will
appear in meta notation. For example, `\003' is displayed as
`^C' and `\372' as `M-z'.
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.
FILES
/var/adm/utmp to find user
/usr/bin/sh to execute !
/usr/lib/locale/locale/LC_MESSAGES/uxcore
language-specific message file [see LANG on
environ(5)].
Errors
UX:write:ERROR:User is not logged on.
if the person you are trying to write to is not logged
on.
UX:write:ERROR:Permission denied.
if the person you are trying to write to denies that
permission (with mesg).
UX:write:Warning: cannot respond, set mesg -y.
if your terminal is set to mesg n and the recipient
cannot respond to you.
UX:write:ERROR:Can no longer write to user.
if the recipient has denied permission (mesg n) after
you had started writing.
REFERENCES
mail(1), mesg(1), pr(1), setuid(2), sh(1), who(1)
Copyright 1994 Novell, Inc. Page 2