xref: /openbsd/usr.bin/script/script.1 (revision db3296cf)
1.\"	$OpenBSD: script.1,v 1.10 2003/06/03 02:56:15 millert Exp $
2.\"	$NetBSD: script.1,v 1.3 1994/12/21 08:55:41 jtc Exp $
3.\"
4.\" Copyright (c) 1980, 1990, 1993
5.\"	The Regents of the University of California.  All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. Neither the name of the University nor the names of its contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\"	@(#)script.1	8.1 (Berkeley) 6/6/93
32.\"
33.Dd June 6, 1993
34.Dt SCRIPT 1
35.Os
36.Sh NAME
37.Nm script
38.Nd make typescript of terminal session
39.Sh SYNOPSIS
40.Nm script
41.Op Fl a
42.Op Ar file
43.Sh DESCRIPTION
44.Nm
45makes a typescript of everything printed on your terminal.
46It is useful for students who need a hardcopy record of an interactive
47session as proof of an assignment, as the typescript file
48can be printed out later with
49.Xr lpr 1 .
50.Pp
51If the argument
52.Ar file
53is given,
54.Nm
55saves all dialogue in
56.Ar file .
57If no file name is given, the typescript is saved in the file
58.Pa typescript .
59.Pp
60The options are as follows:
61.Bl -tag -width Ds
62.It Fl a
63Append the output to
64.Ar file
65or
66.Pa typescript ,
67retaining the prior contents.
68.El
69.Pp
70The script ends when the forked shell exits (a control-D
71.Pq Ql ^D
72to exit
73the Bourne shell
74.Pf ( Xr sh 1 ) ,
75and
76.Ic exit ,
77.Ic logout ,
78or control-D
79(if
80.Va ignoreeof
81is not set) for the
82C-shell,
83.Xr csh 1 ) .
84.Nm
85will exit with the status of 0 unless any of its child
86processes fail. In which case,
87.Nm
88will return 1.
89.Pp
90Certain interactive commands, such as
91.Xr vi 1 ,
92create garbage in the typescript file.
93.Nm
94works best with commands that do not manipulate the
95screen; the results are meant to emulate a hardcopy terminal.
96.Sh ENVIRONMENT
97.Bl -tag -width SHELL
98.It Ev SHELL
99Name of the shell to be forked by
100.Nm script .
101If not set, the Bourne shell is assumed.
102(Most shells set this variable automatically.)
103.El
104.Sh SEE ALSO
105.Xr csh 1
106(for the
107.Sy history
108mechanism)
109.Sh HISTORY
110The
111.Nm
112command appeared in
113.Bx 3.0 .
114.Sh BUGS
115.Nm
116places
117.Em everything
118in the log file, including linefeeds and backspaces.
119This is not what the naive user expects.
120