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