Section: User Commands (1)
Updated: June 2014
Return to Main Contents
script - make typescript of terminal session
makes a typescript of everything displayed 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
If the argument
saves the dialogue in this
If no filename is given, the dialogue is saved in the file
- -a, --append
Append the output to
retaining the prior contents.
- -c, --command command
rather than an interactive shell. This makes it easy for a script to capture
the output of a program that behaves differently when its stdout is not a
- -e, --return
Return the exit code of the child process. Uses the same format as bash
termination on signal termination exit code is 128+n.
- -f, --flush
Flush output after each write. This is nice for telecooperation: one person
does `mkfifo foo; script -f foo', and another can supervise real-time what is
being done using `cat foo'.
Allow the default output destination, i.e. the typescript file, to be a hard
or symbolic link. The command will follow a symbolic link.
- -q, --quiet
Be quiet (do not write start and done messages to standard output).
- -t[file], --timing[=file]
Output timing data to standard error, or to
when given. This data contains two fields, separated by a space. The first
field indicates how much time elapsed since the previous output. The second
field indicates how many characters were output this time. This information
can be used to replay typescripts with realistic typing and output delays.
- -V, --version
Display version information and exit.
- -h, --help
Display help text and exit.
The script ends when the forked shell exits (a
for the Bourne shell
is not set) for the
Certain interactive commands, such as
create garbage in the typescript file.
works best with commands that do not manipulate the screen, the results are
meant to emulate a hardcopy terminal.
It is not recommended to run
in non-interactive shells. The inner shell of
is always interactive, and this could lead to unexpected results. If you use
in the shell initialization file, you have to avoid entering an infinite
loop. You can use for example the .profile file, which is read
by login shells only:
if test -t 0 ; then
You should also avoid use of script in command pipes, as
can read more input than you would expect.
The following environment variable is utilized by
If the variable
exists, the shell forked by
will be that shell. If
is not set, the Bourne shell is assumed. (Most shells set this variable
command appeared in 3.0BSD.
in the log file, including linefeeds and backspaces. This is not what the
naive user expects.
is primarily designed for interactive terminal sessions. When stdin
is not a terminal (for example: echo foo | script), then the session
can hang, because the interactive shell within the script session misses EOF and
has no clue when to close the session. See the NOTES section for more information.
The script command is part of the util-linux package and is available from
Linux Kernel Archive
- SEE ALSO
This document was created by
using the manual pages.
Time: 07:17:04 GMT, September 25, 2018