---
name: "scriptlive"
section: "1"
platform: "linux"
package: "util-linux"
version: "2.42.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/scriptlive"
---

# scriptlive(1)

re-run session typescripts, using timing information

## NAME

scriptlive - re-run session typescripts, using timing information

## SYNOPSIS

**scriptlive** \[options\] *timingfile* *typescript*

## DESCRIPTION

This program re-runs a typescript, using stdin typescript and timing information to ensure that input happens in the same rhythm as it originally appeared when the script was recorded.

The **session is executed** in a newly created pseudoterminal with the user’s $SHELL (or defaults to */bin/bash*).

**Be careful!** The typescript may contain arbitrary commands. It is recommended to use **"scriptreplay --stream in --log-in typescript"** (or with **--log-io** instead of **--log-in**) to verify the typescript before it is executed with **scriptlive**.

The timing information is what [**script**(1)](/script/1.md) outputs to the file specified by **--log-timing**. The typescript has to contain stdin information, and is what [**script**(1)](/script/1.md) outputs to the file specified by **--log-in** or **--log-io**.

## OPTIONS

- **-c**, **--command** *command*

  Execute *command* instead of an interactive shell. The *command* is passed as argument to the **-c** option of the execution shell. The used shell is either $SHELL, the shell defined in the user’s [passwd(5)](/passwd/5.md) database or **\_PATH\_BSHELL**, selected in respective order.

- **-I**, **--log-in** *file*

  File containing **script**'s terminal input.

- **-B**, **--log-io** *file*

  File containing **script**'s terminal output and input.

- **-E**, **--echo** *when*

  This option controls the **ECHO** flag for the slave end of the session’s pseudoterminal. The supported modes are **always**, **never**, and **auto**.

  The default is **auto** — in which case **ECHO** is enabled. This default behavior is subject to change.

- **-t**, **--timing** *file*

  File containing **script**'s timing output. This option replaces the *timingfile* positional argument.

- **-T**, **--log-timing** *file*

  An alias for **-t**; maintained for compatibility with the [**script**(1)](/script/1.md) command-line options.

- **-d**, **--divisor** *number*

  Speed up the replay displaying this *number* of times. The argument is a floating-point number. It’s called divisor because it divides the timings by this factor. This option overrides old-style arguments.

- **-m**, **--maxdelay** *number*

  Set the maximum delay between updates to *number* of seconds. The argument is a floating-point number. This can be used to avoid long pauses in the typescript replay.

- **-h**, **--help**

  Display help text and exit.

- **-V**, **--version**

  Display version and exit.

## EXAMPLES

```
% script --log-timing file.tm --log-in script.in
Script started, file is script.out
% date
<etc, etc>
% exit
Script done, file is script.out
% scriptlive --log-timing file.tm --log-in script.in
```

## AUTHORS

*Karel Zak* \<kzak@redhat.com\>

## COPYRIGHT

Copyright © 2019 Karel Zak

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Released under the GNU General Public License version 2 or later.

## SEE ALSO

[**script**(1)](/script/1.md), [**scriptreplay**(1)](/scriptreplay/1.md)

## REPORTING BUGS

For bug reports, use the *issue tracker* \<https://github.com/util-linux/util-linux/issues\>.

## AVAILABILITY

The **scriptlive** command is part of the util-linux package which can be downloaded from *Linux Kernel Archive* \<https://www.kernel.org/pub/linux/utils/util-linux/\>.
