{
    "mode": "man",
    "parameter": "scriptlive",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/scriptlive/1/json",
    "generated": "2026-10-22T11:56:30Z",
    "synopsis": "scriptlive [options] [-t] timingfile [-I|-B] typescript",
    "sections": {
        "NAME": {
            "content": "scriptlive - re-run session typescripts, using timing information\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "scriptlive [options] [-t] timingfile [-I|-B] typescript\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This program re-runs a typescript, using stdin typescript and timing information to ensure\nthat input happens in the same rhythm as it originally appeared when the script was recorded.\n\nThe session is executed in a newly created pseudoterminal with the user’s $SHELL (or defaults\nto /bin/bash).\n\nBe careful! Do not forget that the typescript may contains arbitrary commands. It is\nrecommended to use \"scriptreplay --stream in --log-in typescript\" (or with --log-io instead\nof --log-in) to verify the typescript before it is executed by scriptlive.\n\nThe timing information is what script(1) outputs to file specified by --log-timing. The\ntypescript has to contain stdin information and it is what script1 outputs to file specified\nby --log-in or --log-io.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-I --log-in _",
                    "content": "File containing script's terminal input.\n",
                    "flag": "-I",
                    "long": "--log-in"
                },
                {
                    "name": "-B --log-io _",
                    "content": "File containing script's terminal output and input.\n",
                    "flag": "-B",
                    "long": "--log-io"
                },
                {
                    "name": "-t --timing _",
                    "content": "File containing script's timing output. This option overrides old-style arguments.\n",
                    "flag": "-t",
                    "long": "--timing"
                },
                {
                    "name": "-T --log-timing _",
                    "content": "Aliased to -t, maintained for compatibility with script(1) command-line options.\n",
                    "flag": "-T",
                    "long": "--log-timing"
                },
                {
                    "name": "-d --divisor _",
                    "content": "Speed up the replay displaying this number of times. The argument is a floating-point\nnumber. It’s called divisor because it divides the timings by this factor. This option\noverrides old-style arguments.\n",
                    "flag": "-d",
                    "long": "--divisor"
                },
                {
                    "name": "-m --maxdelay _",
                    "content": "Set the maximum delay between updates to number of seconds. The argument is a\nfloating-point number. This can be used to avoid long pauses in the typescript replay.\n",
                    "flag": "-m",
                    "long": "--maxdelay"
                },
                {
                    "name": "-h --help",
                    "content": "Display help text and exit.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "-V --version",
                    "content": "Print version and exit.\n",
                    "flag": "-V",
                    "long": "--version"
                }
            ]
        },
        "EXAMPLES": {
            "content": "% script --log-timing file.tm --log-in script.in\nScript started, file is script.out\n% date\n<etc, etc>\n% exit\nScript done, file is script.out\n% scriptlive --log-timing file.tm --log-in script.in\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Karel Zak <kzak@redhat.com>\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright © 2019 Karel Zak\n\nThis is free software; see the source for copying conditions. There is NO warranty; not even\nfor MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\nReleased under the GNU General Public License version 2 or later.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "script(1), scriptreplay(1)\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "For bug reports, use the issue tracker at https://github.com/util-linux/util-linux/issues.\n",
            "subsections": []
        },
        "AVAILABILITY": {
            "content": "The scriptlive command is part of the util-linux package which can be downloaded from Linux\nKernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.\n\nutil-linux 2.39.3                            2023-10-23                                SCRIPTLIVE(1)",
            "subsections": []
        }
    },
    "summary": "scriptlive - re-run session typescripts, using timing information",
    "flags": [
        {
            "flag": "-I",
            "long": "--log-in",
            "arg": null,
            "description": "File containing script's terminal input."
        },
        {
            "flag": "-B",
            "long": "--log-io",
            "arg": null,
            "description": "File containing script's terminal output and input."
        },
        {
            "flag": "-t",
            "long": "--timing",
            "arg": null,
            "description": "File containing script's timing output. This option overrides old-style arguments."
        },
        {
            "flag": "-T",
            "long": "--log-timing",
            "arg": null,
            "description": "Aliased to -t, maintained for compatibility with script(1) command-line options."
        },
        {
            "flag": "-d",
            "long": "--divisor",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-m",
            "long": "--maxdelay",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "Display help text and exit."
        },
        {
            "flag": "-V",
            "long": "--version",
            "arg": null,
            "description": "Print 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"
    ],
    "see_also": [
        {
            "name": "script",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/script/1/json"
        },
        {
            "name": "scriptreplay",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/scriptreplay/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Execute a typescript created by the `script` command in real-time.",
        "examples": [
            {
                "description": "Execute a typescript in real-time",
                "command": "scriptlive {{path/to/timing_file}} {{path/to/typescript}}"
            },
            {
                "description": "Execute a typescript at double the original speed",
                "command": "scriptlive {{path/to/timing_file}} {{path/to/typescript}} --divisor 2"
            },
            {
                "description": "Execute a typescript created using `--log-in` option of `script`",
                "command": "scriptlive --log-in {{path/to/stdin_log_file}} {{path/to/typescript}}"
            },
            {
                "description": "Execute a typescript waiting at most 2 seconds between each command",
                "command": "scriptlive {{path/to/timing_file}} {{path/to/typescript}} --maxdelay 2"
            }
        ]
    }
}