]> git.ipfire.org Git - thirdparty/util-linux.git/blame - term-utils/script.1
script: indicate that the file argument to --timing is optional
[thirdparty/util-linux.git] / term-utils / script.1
CommitLineData
6dbe3af9
KZ
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.\"
33e47106 34.Dd Feb 20, 2011
6dbe3af9 35.Dt SCRIPT 1
66ee8158 36.Os Linux
6dbe3af9
KZ
37.Sh NAME
38.Nm script
39.Nd make typescript of terminal session
40.Sh SYNOPSIS
41.Nm script
42.Op Fl a
df1dddf9 43.Op Fl c Ar COMMAND
f1014a4f 44.Op Fl e
66ee8158
KZ
45.Op Fl f
46.Op Fl q
7ca59ef2 47.Op Fl t[=FILE]
33e47106
SK
48.Op Fl V
49.Op Fl h
6dbe3af9
KZ
50.Op Ar file
51.Sh DESCRIPTION
52.Nm Script
53makes a typescript of everything printed on your terminal.
54It is useful for students who need a hardcopy record of an interactive
55session as proof of an assignment, as the typescript file
56can be printed out later with
57.Xr lpr 1 .
58.Pp
59If the argument
60.Ar file
61is given,
62.Nm
63saves all dialogue in
64.Ar file .
65If no file name is given, the typescript is saved in the file
66.Pa typescript .
67.Pp
66ee8158 68Options:
6dbe3af9 69.Bl -tag -width Ds
33e47106 70.It Fl a, Fl Fl append
6dbe3af9
KZ
71Append the output to
72.Ar file
73or
74.Pa typescript ,
75retaining the prior contents.
33e47106 76.It Fl c, Fl Fl command Ar COMMAND
df1dddf9
KZ
77Run the COMMAND rather than an interactive shell.
78This makes it easy for a script to capture the output of a program that
79behaves differently when its stdout is not a tty.
33e47106 80.It Fl e, Fl Fl return
f1014a4f
KZ
81Return the exit code of the child process. Uses the same format as bash
82termination on signal termination exit code is 128+n.
33e47106 83.It Fl f, Fl Fl flush
66ee8158
KZ
84Flush output after each write. This is nice for telecooperation:
85One person does `mkfifo foo; script -f foo' and another can
86supervise real-time what is being done using `cat foo'.
fd4c1f63
SK
87.It Fl Fl force
88Allow default output destination, e.g. typescript file, to be
89hard or symbolic link. The command will follow symbolic link.
33e47106 90.It Fl q, Fl Fl quiet
66ee8158 91Be quiet.
7ca59ef2 92.It Fl t, Fl Fl timing[=FILE]
48d7b13a 93Output timing data to standard error. This data contains two fields,
e8f26419
KZ
94separated by a space. The first field indicates how much time elapsed since
95the previous output. The second field indicates how many characters were
96output this time. This information can be used to replay typescripts with
97realistic typing and output delays.
7ca59ef2
SK
98
99The timing option is able to take file path as an argument. The
100file is used as output detination instead of standard error when
101it is supplied.
33e47106
SK
102.It Fl V, Fl Fl version
103Output version information and exit.
104.It Fl h, Fl Fl help
105Output help and exit.
6dbe3af9
KZ
106.El
107.Pp
108The script ends when the forked shell exits (a
109.Em control-D
110to exit
111the Bourne shell
112.Pf ( Xr sh 1 ) ,
113and
114.Em exit ,
115.Em logout
116or
117.Em control-d
118(if
119.Em ignoreeof
120is not set) for the
121C-shell,
122.Xr csh 1 ) .
123.Pp
124Certain interactive commands, such as
125.Xr vi 1 ,
126create garbage in the typescript file.
127.Nm Script
128works best with commands that do not manipulate the
129screen, the results are meant to emulate a hardcopy
130terminal.
131.Sh ENVIRONMENT
132The following environment variable is utilized by
133.Nm script :
134.Bl -tag -width SHELL
135.It Ev SHELL
136If the variable
137.Ev SHELL
138exists, the shell forked by
139.Nm script
140will be that shell. If
141.Ev SHELL
142is not set, the Bourne shell
143is assumed. (Most shells set this variable automatically).
144.El
145.Sh SEE ALSO
146.Xr csh 1
147(for the
148.Em history
ffc43748 149mechanism),
c129767e 150.Xr scriptreplay 1 .
6dbe3af9
KZ
151.Sh HISTORY
152The
153.Nm script
154command appeared in
155.Bx 3.0 .
156.Sh BUGS
157.Nm Script
158places
159.Sy everything
160in the log file, including linefeeds and backspaces.
161This is not what the naive user expects.
86d62711 162.Sh AVAILABILITY
601d12fb
KZ
163The script command is part of the util-linux package and is available from
164ftp://ftp.kernel.org/pub/linux/utils/util-linux/.