Upload Tizen:Base source
[framework/base/util-linux-ng.git] / misc-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 July 30, 2000
35 .Dt SCRIPT 1
36 .Os 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 f
45 .Op Fl q
46 .Op Fl t
47 .Op Ar file
48 .Sh DESCRIPTION
49 .Nm Script
50 makes a typescript of everything printed on your terminal.
51 It is useful for students who need a hardcopy record of an interactive
52 session as proof of an assignment, as the typescript file 
53 can be printed out later with
54 .Xr lpr 1 .
55 .Pp
56 If the argument
57 .Ar file
58 is given,
59 .Nm
60 saves all dialogue in
61 .Ar file .
62 If no file name is given, the typescript is saved in the file
63 .Pa typescript  .
64 .Pp
65 Options:
66 .Bl -tag -width Ds
67 .It Fl a
68 Append the output to
69 .Ar file
70 or
71 .Pa typescript ,
72 retaining the prior contents.
73 .It Fl c Ar COMMAND
74 Run the COMMAND rather than an interactive shell.
75 This makes it easy for a script to capture the output of a program that
76 behaves differently when its stdout is not a tty.
77 .It Fl f
78 Flush output after each write. This is nice for telecooperation:
79 One person does `mkfifo foo; script -f foo' and another can
80 supervise real-time what is being done using `cat foo'.
81 .It Fl q
82 Be quiet.
83 .It Fl t
84 Output timing data to standard error. This data contains two fields,
85 separated by a space. The first field indicates how much time elapsed since
86 the previous output. The second field indicates how many characters were
87 output this time. This information can be used to replay typescripts with
88 realistic typing and output delays.
89 .El
90 .Pp
91 The script ends when the forked shell exits (a
92 .Em control-D
93 to exit
94 the Bourne shell
95 .Pf ( Xr sh 1 ) ,
96 and
97 .Em exit , 
98 .Em logout
99 or
100 .Em control-d
101 (if
102 .Em ignoreeof
103 is not set) for the
104 C-shell,
105 .Xr csh 1 ) .
106 .Pp
107 Certain interactive commands, such as
108 .Xr vi 1 ,
109 create garbage in the typescript file.
110 .Nm Script
111 works best with commands that do not manipulate the
112 screen, the results are meant to emulate a hardcopy
113 terminal.
114 .Sh ENVIRONMENT
115 The following environment variable is utilized by
116 .Nm script :
117 .Bl -tag -width SHELL
118 .It Ev SHELL
119 If the variable
120 .Ev SHELL
121 exists, the shell forked by
122 .Nm script
123 will be that shell. If
124 .Ev SHELL
125 is not set, the Bourne shell
126 is assumed. (Most shells set this variable automatically).
127 .El
128 .Sh SEE ALSO
129 .Xr csh 1
130 (for the
131 .Em history
132 mechanism),
133 .Xr scriptreplay 1 .
134 .Sh HISTORY
135 The
136 .Nm script
137 command appeared in
138 .Bx 3.0 .
139 .Sh BUGS
140 .Nm Script
141 places
142 .Sy everything
143 in the log file, including linefeeds and backspaces.
144 This is not what the naive user expects.
145 .Sh AVAILABILITY
146 The script command is part of the util-linux-ng package and is available from
147 ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.