The
utility makes a typescript of everything printed on your terminal.
It is useful for students who need a hardcopy record of an interactive
session as proof of an assignment, as the typescript file
can be printed out later with
lpr(1).
If the argument
file
is given,
saves all dialogue in
file
If no file name is given, the typescript is saved in the file
typescript
If the argument
command
is given,
will run the specified command with an optional argument vector
instead of an interactive shell.
The following options are available:
-a
Append the output to
file
or
typescript
retaining the prior contents.
-k
Log keys sent to program as well as output.
-q
Run in quiet mode, omit the start and stop status messages.
-t time
Specify time interval between flushing script output file.
A value of 0
causes
to flush for every character I/O event.
The default interval is
30 seconds.
The script ends when the forked shell (or command) exits (a
control-D
to exit
the Bourne shell
( sh(1))
and
exitlogout
or
control-D
(if
ignoreeof
is not set) for the
C-shell,
csh(1)).
Certain interactive commands, such as
vi(1),
create garbage in the typescript file.
The
utility works best with commands that do not manipulate the screen.
The results are meant to emulate a hardcopy terminal, not an addressable one.
ENVIRONMENT
The following environment variable is utilized by
:
SHELL
If the variable
SHELL
exists, the shell forked by
will be that shell.
If
SHELL
is not set, the Bourne shell
is assumed.
(Most shells set this variable automatically).
The
utility places
everything
in the log file, including linefeeds and backspaces.
This is not what the naive user expects.
It is not possible to specify a command without also naming the script file
because of argument parsing compatibility issues.
When running in
-k
mode, echo cancelling is far from ideal.
The slave terminal mode is checked
for ECHO mode to check when to avoid manual echo logging.
This does not
work when in a raw mode where the program being run is doing manual echo.