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.\" 35c548db03SRuslan Ermilov.Dd January 22, 2004 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 434294ff16SSheldon Hearn.Op Fl akq 44e8eb82a8SPeter Wemm.Op Fl t Ar time 45c548db03SRuslan Ermilov.Op Ar file Op Ar command ... 469b50d902SRodney W. Grimes.Sh DESCRIPTION 47e8937ba0SPhilippe CharnierThe 48e8937ba0SPhilippe Charnier.Nm 49e8937ba0SPhilippe Charnierutility makes a typescript of everything printed on your terminal. 509b50d902SRodney W. GrimesIt is useful for students who need a hardcopy record of an interactive 519b50d902SRodney W. Grimessession as proof of an assignment, as the typescript file 529b50d902SRodney W. Grimescan be printed out later with 539b50d902SRodney W. Grimes.Xr lpr 1 . 549b50d902SRodney W. Grimes.Pp 559b50d902SRodney W. GrimesIf the argument 569b50d902SRodney W. Grimes.Ar file 579b50d902SRodney W. Grimesis given, 589b50d902SRodney W. Grimes.Nm 599b50d902SRodney W. Grimessaves all dialogue in 609b50d902SRodney W. Grimes.Ar file . 619b50d902SRodney W. GrimesIf no file name is given, the typescript is saved in the file 629b50d902SRodney W. Grimes.Pa typescript . 639b50d902SRodney W. Grimes.Pp 6451afb8dfSPeter WemmIf the argument 65fed771deSPhilippe Charnier.Ar command 6651afb8dfSPeter Wemmis given, 6751afb8dfSPeter Wemm.Nm 6851afb8dfSPeter Wemmwill run the specified command with an optional argument vector 6951afb8dfSPeter Wemminstead of an interactive shell. 7051afb8dfSPeter Wemm.Pp 71fed771deSPhilippe CharnierThe following options are available: 72fed771deSPhilippe Charnier.Bl -tag -width indent 739b50d902SRodney W. Grimes.It Fl a 749b50d902SRodney W. GrimesAppend the output to 759b50d902SRodney W. Grimes.Ar file 769b50d902SRodney W. Grimesor 779b50d902SRodney W. Grimes.Pa typescript , 789b50d902SRodney W. Grimesretaining the prior contents. 79e8eb82a8SPeter Wemm.It Fl k 80e8eb82a8SPeter WemmLog keys sent to program as well as output. 8151afb8dfSPeter Wemm.It Fl q 8251afb8dfSPeter WemmRun in quiet mode, omit the start and stop status messages. 83e8eb82a8SPeter Wemm.It Fl t Ar time 846a3e8b0aSRuslan ErmilovSpecify time interval between flushing script output file. 856a3e8b0aSRuslan ErmilovA value of 0 86e8eb82a8SPeter Wemmcauses 87e8eb82a8SPeter Wemm.Nm 886a3e8b0aSRuslan Ermilovto flush for every character I/O event. 896a3e8b0aSRuslan ErmilovThe 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 117*aa2e0334SDavid E. O'BrienThe following environment variables are utilized by 1188fe908efSRuslan Ermilov.Nm : 1199b50d902SRodney W. Grimes.Bl -tag -width SHELL 1209b91846cSDavid E. O'Brien.It Ev SCRIPT 1219b91846cSDavid E. O'BrienThe 1229b91846cSDavid E. O'Brien.Ev SCRIPT 1239b91846cSDavid E. O'Brienenvironment variable is added to the sub-shell. 1249b91846cSDavid E. O'BrienIf 1259b91846cSDavid E. O'Brien.Ev SCRIPT 1269b91846cSDavid E. O'Brienalready existed in the users environment, 1279b91846cSDavid E. O'Brienits value is overwritten within the sub-shell. 1289b91846cSDavid E. O'BrienThe value of 1299b91846cSDavid E. O'Brien.Ev SCRIPT 1309b91846cSDavid E. O'Brienis the name of the 1319b91846cSDavid E. O'Brien.Ar typescript 1329b91846cSDavid E. O'Brienfile. 1339b50d902SRodney W. Grimes.It Ev SHELL 1349b50d902SRodney W. GrimesIf the variable 1359b50d902SRodney W. Grimes.Ev SHELL 1369b50d902SRodney W. Grimesexists, the shell forked by 137236d2f55SPhilippe Charnier.Nm 13887faa07bSSheldon Hearnwill be that shell. 13987faa07bSSheldon HearnIf 1409b50d902SRodney W. Grimes.Ev SHELL 1419b50d902SRodney W. Grimesis not set, the Bourne shell 1424e86fcacSSheldon Hearnis assumed. 1434e86fcacSSheldon Hearn(Most shells set this variable automatically). 1449b50d902SRodney W. Grimes.El 1459b50d902SRodney W. Grimes.Sh SEE ALSO 1469b50d902SRodney W. Grimes.Xr csh 1 1479b50d902SRodney W. Grimes(for the 1489b50d902SRodney W. Grimes.Em history 1499b50d902SRodney W. Grimesmechanism). 1509b50d902SRodney W. Grimes.Sh HISTORY 1519b50d902SRodney W. GrimesThe 152236d2f55SPhilippe Charnier.Nm 1539b50d902SRodney W. Grimescommand appeared in 1549b50d902SRodney W. Grimes.Bx 3.0 . 1559b50d902SRodney W. Grimes.Sh BUGS 156e8937ba0SPhilippe CharnierThe 157e8937ba0SPhilippe Charnier.Nm 158e8937ba0SPhilippe Charnierutility places 1599b50d902SRodney W. Grimes.Sy everything 1609b50d902SRodney W. Grimesin the log file, including linefeeds and backspaces. 1619b50d902SRodney W. GrimesThis is not what the naive user expects. 16251afb8dfSPeter Wemm.Pp 16351afb8dfSPeter WemmIt is not possible to specify a command without also naming the script file 16432c21313SSteve Pricebecause of argument parsing compatibility issues. 165e8eb82a8SPeter Wemm.Pp 166e8eb82a8SPeter WemmWhen running in 167e8eb82a8SPeter Wemm.Fl k 1686a3e8b0aSRuslan Ermilovmode, echo cancelling is far from ideal. 1696a3e8b0aSRuslan ErmilovThe slave terminal mode is checked 1706a3e8b0aSRuslan Ermilovfor ECHO mode to check when to avoid manual echo logging. 1716a3e8b0aSRuslan ErmilovThis does not 172e8eb82a8SPeter Wemmwork when in a raw mode where the program being run is doing manual echo. 173