Annotation of src/usr.bin/write/write.1, Revision 1.18
1.18 ! martijn 1: .\" $OpenBSD: write.1,v 1.17 2014/06/04 06:07:32 jmc Exp $
1.7 aaron 2: .\"
1.1 deraadt 3: .\" Copyright (c) 1989, 1993
4: .\" The Regents of the University of California. All rights reserved.
5: .\"
6: .\" This code is derived from software contributed to Berkeley by
7: .\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
8: .\"
9: .\" Redistribution and use in source and binary forms, with or without
10: .\" modification, are permitted provided that the following conditions
11: .\" are met:
12: .\" 1. Redistributions of source code must retain the above copyright
13: .\" notice, this list of conditions and the following disclaimer.
14: .\" 2. Redistributions in binary form must reproduce the above copyright
15: .\" notice, this list of conditions and the following disclaimer in the
16: .\" documentation and/or other materials provided with the distribution.
1.9 millert 17: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 18: .\" may be used to endorse or promote products derived from this software
19: .\" without specific prior written permission.
20: .\"
21: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31: .\" SUCH DAMAGE.
32: .\"
33: .\" from: @(#)write.1 8.1 (Berkeley) 6/6/93
34: .\"
1.18 ! martijn 35: .Dd $Mdocdate: June 4 2014 $
1.1 deraadt 36: .Dt WRITE 1
37: .Os
38: .Sh NAME
39: .Nm write
40: .Nd send a message to another user
41: .Sh SYNOPSIS
42: .Nm write
43: .Ar user
44: .Op Ar ttyname
45: .Sh DESCRIPTION
1.7 aaron 46: .Nm
1.1 deraadt 47: allows you to communicate with other users, by copying lines from
48: your terminal to theirs.
49: .Pp
50: When you run the
1.7 aaron 51: .Nm
1.1 deraadt 52: command, the user you are writing to gets a message of the form:
53: .Pp
54: .Dl Message from yourname@yourhost on yourtty at hh:mm ...
55: .Pp
56: Any further lines you enter will be copied to the specified user's
57: terminal.
58: If the other user wants to reply, they must run
1.7 aaron 59: .Nm
1.1 deraadt 60: as well.
61: .Pp
62: When you are done, type an end-of-file or interrupt character.
63: The other user will see the message
1.7 aaron 64: .Dq EOF
65: indicating that the conversation is over.
1.1 deraadt 66: .Pp
1.7 aaron 67: You can prevent people (other than the superuser) from writing to you
1.1 deraadt 68: with the
69: .Xr mesg 1
70: command.
1.16 jmc 71: Some commands, such as
1.1 deraadt 72: .Xr pr 1 ,
1.16 jmc 73: disallow writing automatically, so that output isn't overwritten.
1.1 deraadt 74: .Pp
75: If the user you want to write to is logged in on more than one terminal,
76: you can specify which terminal to write to by specifying the terminal
77: name as the second operand to the
1.7 aaron 78: .Nm
1.1 deraadt 79: command.
80: Alternatively, you can let
1.7 aaron 81: .Nm
1.1 deraadt 82: select one of the terminals \- it will pick the one with the shortest
83: idle time.
84: This is so that if the user is logged in at work and also dialed up from
85: home, the message will go to the right place.
86: .Pp
87: The traditional protocol for writing to someone is that the string
1.7 aaron 88: .Dq \-o ,
1.1 deraadt 89: either at the end of a line or on a line by itself, means that it's the
90: other person's turn to talk.
91: The string
1.7 aaron 92: .Dq oo
1.1 deraadt 93: means that the person believes the conversation to be
94: over.
1.17 jmc 95: .Sh ASYNCHRONOUS EVENTS
96: .Bl -tag -width SIGINTXXX
97: .It Dv SIGINT
98: Terminate
99: .Nm
100: and exit with a zero status.
101: .El
1.15 jmc 102: .Sh EXIT STATUS
1.14 jmc 103: The
104: .Nm
105: utility exits with one of the following values:
106: .Pp
1.15 jmc 107: .Bl -tag -width Ds -offset indent -compact
1.14 jmc 108: .It 0
109: Normal behavior.
1.17 jmc 110: .It >0
1.14 jmc 111: The specified user is either not logged in or not accepting messages.
112: .El
1.1 deraadt 113: .Sh SEE ALSO
114: .Xr mesg 1 ,
115: .Xr talk 1 ,
116: .Xr who 1
1.10 jmc 117: .Sh STANDARDS
118: The
119: .Nm
120: utility is compliant with the
1.12 jmc 121: .St -p1003.1-2008
1.18 ! martijn 122: specification,
! 123: except that in this implementation
! 124: the sender's locale is ignored.
! 125: Non-ASCII characters are written as
! 126: .Sq \? .
1.6 aaron 127: .Sh HISTORY
128: A
129: .Nm
130: command appeared in
1.8 mickey 131: .At v2 .
1.3 d 132: .Sh BUGS
133: The
1.7 aaron 134: .Dq EOF
1.3 d 135: message seen when the other
1.7 aaron 136: .Nm
1.4 aaron 137: terminates is indistinguishable from that party simply typing
1.7 aaron 138: .Dq EOF
1.3 d 139: to make you believe that any future messages did not come from them.
140: Especially messages such as:
1.7 aaron 141: .Pp
1.3 d 142: .Dl "[1] Done rm -rf *"