xref: /openbsd-src/usr.bin/script/script.1 (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1.\"	$OpenBSD: script.1,v 1.13 2007/05/31 19:20:15 jmc 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 $Mdocdate: May 31 2007 $
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.
87In which case,
88.Nm
89will return 1.
90.Pp
91Certain interactive commands, such as
92.Xr vi 1 ,
93create garbage in the typescript file.
94.Nm
95works best with commands that do not manipulate the
96screen; the results are meant to emulate a hardcopy terminal.
97.Sh ENVIRONMENT
98.Bl -tag -width SHELL
99.It Ev SHELL
100Name of the shell to be forked by
101.Nm script .
102If not set, the Bourne shell is assumed.
103(Most shells set this variable automatically.)
104.El
105.Sh HISTORY
106The
107.Nm
108command appeared in
109.Bx 3.0 .
110.Sh BUGS
111.Nm
112places
113.Em everything
114in the log file, including linefeeds and backspaces.
115This is not what the naive user expects.
116