SCRIPT(1) | General Commands Manual | SCRIPT(1)

# NAME

`script` — make typescript of terminal session

# SYNOPSIS

`script` | [`-a`] [`-c` command] [file]

# DESCRIPTION

`script` 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, `script` saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript.

The options are as follows:

`-a`
  Append the output to file or typescript, retaining the prior contents.
`-c` command
  Run `sh` `-c` command, instead of an interactive shell. To run a command with arguments, enclose both in quotes.

The script ends when the forked program exits (an `exit`, `logout`, or control-D (‘`^D`’) will exit most interactive shells). `script` will exit with the status of 0 unless any of its child processes fail, in which case, `script` will return 1.

Certain interactive commands, such as vi(1), create garbage in the typescript file. `script` works best with commands that do not manipulate the screen; the results are meant to emulate a hardcopy terminal.

# ENVIRONMENT

`SHELL`
  Name of the shell to be forked by `script`. If not set, the Bourne shell is assumed. (Most shells set this variable automatically.)

# EXAMPLES

Start a virtual machine and log all console output to a file:

    $ script -c "vmctl start -c myvm" myvm.typescript

# HISTORY

A predecessor called `dribble` appeared in 2BSD. The `script` command first appeared in 3BSD.

# AUTHORS

Mary Ann Horton.

# BUGS

`script` places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects.

January 3, 2022 | Debian