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

# NAME

`script` —
make typescript of terminal session

# SYNOPSIS

`script` | [`-adefpqr`] [`-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.

Option:

`-a`
  Append the output to file or typescript, retaining the prior contents.
`-c` command
  Run the named command instead of the shell. Useful for capturing the output of a program that behaves differently when associated with a tty.
`-d`
  When playing back a session with the `-p` flag, don't sleep between records when playing back a timestamped session.
`-e`
  Exit with the shell-style exit status of the shell or command, instead of always exiting successfully.
`-f`
  Flush output after each write. This is useful for watching the script output in real time.
`-p`
  Play back a session recorded with the `-r` flag in real time.
`-q`
  Be quiet, and don't output started and ended lines.
`-r`
  Record a session with input, output, and timestamping.

The script ends when the forked shell exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout 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. `script` works best with commands that do not manipulate the screen, the results are meant to emulate a hardcopy terminal.

# ENVIRONMENT

The following environment variable is used by `script`:

`SHELL`
  If the variable `SHELL` exists, the shell forked by `script` will be that shell. If `SHELL` is not set, the Bourne shell is assumed. (Most shells set this variable automatically).

# SEE ALSO

csh(1) (for the history mechanism).

# HISTORY

The `script` command appeared in 3.0BSD.

# BUGS

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

January 16, 2022 | NetBSD 10.0