]> git.ipfire.org Git - thirdparty/util-linux.git/blob - term-utils/script.1
docs: also uniformize headers and footers of troff-formatted man pages
[thirdparty/util-linux.git] / term-utils / script.1
1 .\" Copyright (c) 1980, 1990 Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" @(#)script.1 6.5 (Berkeley) 7/27/91
33 .\"
34 .Dd February 2011 " "
35 .Dt SCRIPT(1) "" "User Commands"
36 .Os util-linux
37 .Sh NAME
38 .Nm script
39 .Nd make typescript of terminal session
40 .Sh SYNOPSIS
41 .Nm script
42 .Op Fl a
43 .Op Fl c Ar command
44 .Op Fl e
45 .Op Fl f
46 .Op Fl q
47 .Op Fl t Ns Op Ns = Ns Ar file
48 .Op Fl V
49 .Op Fl h
50 .Op Ar file
51 .Sh DESCRIPTION
52 .Nm script
53 makes a typescript of everything printed on your terminal.
54 It is useful for students who need a hardcopy record of an interactive
55 session as proof of an assignment, as the typescript file
56 can be printed out later with
57 .Xr lpr 1 .
58 .Pp
59 If the argument
60 .Ar file
61 is given,
62 .Nm
63 saves all dialogue in
64 .Ar file .
65 If no file name is given, the typescript is saved in the file
66 .Pa typescript .
67 .Pp
68 Options:
69 .Bl -tag -width Ds
70 .It Fl a, Fl Fl append
71 Append the output to
72 .Ar file
73 or
74 .Pa typescript ,
75 retaining the prior contents.
76 .It Fl c, Fl Fl command Ar command
77 Run the
78 .Ar command
79 rather than an interactive shell.
80 This makes it easy for a script to capture the output of a program that
81 behaves differently when its stdout is not a tty.
82 .It Fl e, Fl Fl return
83 Return the exit code of the child process. Uses the same format as bash
84 termination on signal termination exit code is 128+n.
85 .It Fl f, Fl Fl flush
86 Flush output after each write. This is nice for telecooperation:
87 one person does `mkfifo foo; script -f foo', and another can
88 supervise real-time what is being done using `cat foo'.
89 .It Fl Fl force
90 Allow the default output destination, i.e. the typescript file, to be a
91 hard or symbolic link. The command will follow a symbolic link.
92 .It Fl q, Fl Fl quiet
93 Be quiet.
94 .It Fl t, Fl Fl timing Ns Op Ns = Ns Ar file
95 Output timing data to standard error, or to \fIfile\fR when given.
96 This data contains two fields, separated by a space.
97 The first field indicates how much time elapsed since the previous output.
98 The second field indicates how many characters were output this time.
99 This information can be used to replay typescripts with
100 realistic typing and output delays.
101 .It Fl V, Fl Fl version
102 Output version information and exit.
103 .It Fl h, Fl Fl help
104 Output help and exit.
105 .El
106 .Pp
107 The script ends when the forked shell exits (a
108 .Em control-D
109 to exit
110 the Bourne shell
111 .Pf ( Xr sh 1 ) ,
112 and
113 .Em exit ,
114 .Em logout
115 or
116 .Em control-d
117 (if
118 .Em ignoreeof
119 is not set) for the
120 C-shell,
121 .Xr csh 1 ) .
122 .Pp
123 Certain interactive commands, such as
124 .Xr vi 1 ,
125 create garbage in the typescript file.
126 .Nm Script
127 works best with commands that do not manipulate the
128 screen, the results are meant to emulate a hardcopy
129 terminal.
130 .Sh ENVIRONMENT
131 The following environment variable is utilized by
132 .Nm script :
133 .Bl -tag -width SHELL
134 .It Ev SHELL
135 If the variable
136 .Ev SHELL
137 exists, the shell forked by
138 .Nm script
139 will be that shell. If
140 .Ev SHELL
141 is not set, the Bourne shell
142 is assumed. (Most shells set this variable automatically).
143 .El
144 .Sh SEE ALSO
145 .Xr csh 1
146 (for the
147 .Em history
148 mechanism),
149 .Xr scriptreplay 1 .
150 .Sh HISTORY
151 The
152 .Nm script
153 command appeared in
154 .Bx 3.0 .
155 .Sh BUGS
156 .Nm Script
157 places
158 .Sy everything
159 in the log file, including linefeeds and backspaces.
160 This is not what the naive user expects.
161 .Sh AVAILABILITY
162 The script command is part of the util-linux package and is available from
163 ftp://ftp.kernel.org/pub/linux/utils/util-linux/.