如何重播使用 Linux 脚本命令记录的终端会话
在我之前的文章《如何使用 Linux 脚本命令捕获终端会话和输出》中,您了解了如何记录交互式终端会话,该文章介绍了该script
命令和一些常用选项。这篇后续文章演示了如何重播这些记录的终端会话。
重播会话的唯一缺点是会话不是“实时的”。回放功能仅重播文件中的内容,并不反映自创建文件以来所做的任何更改scriptfile
。换句话说,如果在录制的会话中,您发出命令ls
以查看以下文件列表:
$ ls
test1 test2 test3 test4
然后决定添加一个test5
在script
录音之外命名的文件,则在会话重放时不会出现该文件。只有您在 中看到的内容才会出现scriptfile
在重放中。您可以编辑scriptfile
以包含该test5
文件,否则它不会出现。
[ 您可能还喜欢阅读: 系统管理员失败:当服务依赖关系出现问题时]
会话重播
重播录制的会话很简单,语法与录制会话几乎相同,只是使用命令scriptreplay
。继续上一篇文章中的示例:
$ scriptreplay --timing=script_log scriptfile
关于重放脚本,值得注意的一点是,重放会模仿您的速度、犹豫、退格和拼写错误的命令。您可以使用scriptreplay
选项来控制速度,但这不是我曾经需要做的事情。查看手册页以了解选项。
以下是创建标准脚本文件的示例。使用上面的命令进行播放。您会注意到,我将script_log
和保存scriptfile
到工作目录上方的目录中。这可确保不会出现混淆或文件列表,以免观看播放的人感到困惑。
现在,观看此脚本的重播,您会发现重播的节奏与原始脚本完全相同。
查看这个更加复杂的脚本,它展示了你可以纳入script
命令创建的终端会话记录的复杂性:
As you can see, terminal session recordings can be pretty elaborate. The documentation recommends not using the script
command within non-interactive sessions, such as automated scripts, because the behavior might not be what you expect. Experiment at your own peril.
[ Free course: Red Hat Satellite Technical Overview. ]
Wrap up
These examples demonstrate how easy it is to create recorded terminal sessions and how to replay them for your audience. There's nothing magical about it. Be patient and remember it's not necessarily bad to have typos or other mistakes in your videos, and it can be quite frustrating to try to create a perfect one.