xref: /freebsd/usr.bin/script/script.1 (revision fed771de60a003d3cf70e77bb7ff14971dd7ed78)
19b50d902SRodney W. Grimes.\" Copyright (c) 1980, 1990, 1993
29b50d902SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
39b50d902SRodney W. Grimes.\"
49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions
69b50d902SRodney W. Grimes.\" are met:
79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
89b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
109b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
119b50d902SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
129b50d902SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software
139b50d902SRodney W. Grimes.\"    must display the following acknowledgement:
149b50d902SRodney W. Grimes.\"	This product includes software developed by the University of
159b50d902SRodney W. Grimes.\"	California, Berkeley and its contributors.
169b50d902SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
179b50d902SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
189b50d902SRodney W. Grimes.\"    without specific prior written permission.
199b50d902SRodney W. Grimes.\"
209b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
219b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
229b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
239b50d902SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
249b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
259b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
269b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
279b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
289b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
299b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
309b50d902SRodney W. Grimes.\" SUCH DAMAGE.
319b50d902SRodney W. Grimes.\"
329b50d902SRodney W. Grimes.\"	@(#)script.1	8.1 (Berkeley) 6/6/93
33c3aac50fSPeter Wemm.\" $FreeBSD$
349b50d902SRodney W. Grimes.\"
359b50d902SRodney W. Grimes.Dd June 6, 1993
369b50d902SRodney W. Grimes.Dt SCRIPT 1
3762500372SRuslan Ermilov.Os
389b50d902SRodney W. Grimes.Sh NAME
399b50d902SRodney W. Grimes.Nm script
409b50d902SRodney W. Grimes.Nd make typescript of terminal session
419b50d902SRodney W. Grimes.Sh SYNOPSIS
42236d2f55SPhilippe Charnier.Nm
439b50d902SRodney W. Grimes.Op Fl a
44e8eb82a8SPeter Wemm.Op Fl k
4551afb8dfSPeter Wemm.Op Fl q
46e8eb82a8SPeter Wemm.Op Fl t Ar time
4772558534SGuido van Rooij.Op Ar file Op command ...
489b50d902SRodney W. Grimes.Sh DESCRIPTION
49e8937ba0SPhilippe CharnierThe
50e8937ba0SPhilippe Charnier.Nm
51e8937ba0SPhilippe Charnierutility makes a typescript of everything printed on your terminal.
529b50d902SRodney W. GrimesIt is useful for students who need a hardcopy record of an interactive
539b50d902SRodney W. Grimessession as proof of an assignment, as the typescript file
549b50d902SRodney W. Grimescan be printed out later with
559b50d902SRodney W. Grimes.Xr lpr 1 .
569b50d902SRodney W. Grimes.Pp
579b50d902SRodney W. GrimesIf the argument
589b50d902SRodney W. Grimes.Ar file
599b50d902SRodney W. Grimesis given,
609b50d902SRodney W. Grimes.Nm
619b50d902SRodney W. Grimessaves all dialogue in
629b50d902SRodney W. Grimes.Ar file .
639b50d902SRodney W. GrimesIf no file name is given, the typescript is saved in the file
649b50d902SRodney W. Grimes.Pa typescript  .
659b50d902SRodney W. Grimes.Pp
6651afb8dfSPeter WemmIf the argument
67fed771deSPhilippe Charnier.Ar command
6851afb8dfSPeter Wemmis given,
6951afb8dfSPeter Wemm.Nm
7051afb8dfSPeter Wemmwill run the specified command with an optional argument vector
7151afb8dfSPeter Wemminstead of an interactive shell.
7251afb8dfSPeter Wemm.Pp
73fed771deSPhilippe CharnierThe following options are available:
74fed771deSPhilippe Charnier.Bl -tag -width indent
759b50d902SRodney W. Grimes.It Fl a
769b50d902SRodney W. GrimesAppend the output to
779b50d902SRodney W. Grimes.Ar file
789b50d902SRodney W. Grimesor
799b50d902SRodney W. Grimes.Pa typescript ,
809b50d902SRodney W. Grimesretaining the prior contents.
81e8eb82a8SPeter Wemm.It Fl k
82e8eb82a8SPeter WemmLog keys sent to program as well as output.
8351afb8dfSPeter Wemm.It Fl q
8451afb8dfSPeter WemmRun in quiet mode, omit the start and stop status messages.
85e8eb82a8SPeter Wemm.It Fl t Ar time
86e8eb82a8SPeter WemmSpecify time interval between flushing script output file.  A value of 0
87e8eb82a8SPeter Wemmcauses
88e8eb82a8SPeter Wemm.Nm
894cbaceabSJoseph Koshyto flush for every character I/O event.  The default interval is
904cbaceabSJoseph Koshy30 seconds.
919b50d902SRodney W. Grimes.El
929b50d902SRodney W. Grimes.Pp
9351afb8dfSPeter WemmThe script ends when the forked shell (or command) exits (a
949b50d902SRodney W. Grimes.Em control-D
959b50d902SRodney W. Grimesto exit
969b50d902SRodney W. Grimesthe Bourne shell
979b50d902SRodney W. Grimes.Pf ( Xr sh 1 ) ,
989b50d902SRodney W. Grimesand
999b50d902SRodney W. Grimes.Em exit ,
1009b50d902SRodney W. Grimes.Em logout
1019b50d902SRodney W. Grimesor
102fed771deSPhilippe Charnier.Em control-D
1039b50d902SRodney W. Grimes(if
1049b50d902SRodney W. Grimes.Em ignoreeof
1059b50d902SRodney W. Grimesis not set) for the
1069b50d902SRodney W. GrimesC-shell,
1079b50d902SRodney W. Grimes.Xr csh 1 ) .
1089b50d902SRodney W. Grimes.Pp
1099b50d902SRodney W. GrimesCertain interactive commands, such as
1109b50d902SRodney W. Grimes.Xr vi 1 ,
1119b50d902SRodney W. Grimescreate garbage in the typescript file.
112e8937ba0SPhilippe CharnierThe
113e8937ba0SPhilippe Charnier.Nm
114e8937ba0SPhilippe Charnierutility works best with commands that do not manipulate the screen.
1152cb6b4efSBrian FeldmanThe results are meant to emulate a hardcopy terminal, not an addressable one.
1169b50d902SRodney W. Grimes.Sh ENVIRONMENT
1179b50d902SRodney W. GrimesThe following environment variable is utilized by
1188fe908efSRuslan Ermilov.Nm :
1199b50d902SRodney W. Grimes.Bl -tag -width SHELL
1209b50d902SRodney W. Grimes.It Ev SHELL
1219b50d902SRodney W. GrimesIf the variable
1229b50d902SRodney W. Grimes.Ev SHELL
1239b50d902SRodney W. Grimesexists, the shell forked by
124236d2f55SPhilippe Charnier.Nm
12587faa07bSSheldon Hearnwill be that shell.
12687faa07bSSheldon HearnIf
1279b50d902SRodney W. Grimes.Ev SHELL
1289b50d902SRodney W. Grimesis not set, the Bourne shell
1294e86fcacSSheldon Hearnis assumed.
1304e86fcacSSheldon Hearn(Most shells set this variable automatically).
1319b50d902SRodney W. Grimes.El
1329b50d902SRodney W. Grimes.Sh SEE ALSO
1339b50d902SRodney W. Grimes.Xr csh 1
1349b50d902SRodney W. Grimes(for the
1359b50d902SRodney W. Grimes.Em history
1369b50d902SRodney W. Grimesmechanism).
1379b50d902SRodney W. Grimes.Sh HISTORY
1389b50d902SRodney W. GrimesThe
139236d2f55SPhilippe Charnier.Nm
1409b50d902SRodney W. Grimescommand appeared in
1419b50d902SRodney W. Grimes.Bx 3.0 .
1429b50d902SRodney W. Grimes.Sh BUGS
143e8937ba0SPhilippe CharnierThe
144e8937ba0SPhilippe Charnier.Nm
145e8937ba0SPhilippe Charnierutility places
1469b50d902SRodney W. Grimes.Sy everything
1479b50d902SRodney W. Grimesin the log file, including linefeeds and backspaces.
1489b50d902SRodney W. GrimesThis is not what the naive user expects.
14951afb8dfSPeter Wemm.Pp
15051afb8dfSPeter WemmIt is not possible to specify a command without also naming the script file
15132c21313SSteve Pricebecause of argument parsing compatibility issues.
152e8eb82a8SPeter Wemm.Pp
153e8eb82a8SPeter WemmWhen running in
154e8eb82a8SPeter Wemm.Fl k
155128a149bSBill Fumerolamode, echo cancelling is far from ideal.  The slave terminal mode is checked
156e8eb82a8SPeter Wemmfor ECHO mode to check when to avoid manual echo logging.  This does not
157e8eb82a8SPeter Wemmwork when in a raw mode where the program being run is doing manual echo.
158