编辑(因为它似乎很重要,这是最重要的,详见下文): 我需要脚本来实际执行命令,而不仅仅是显示记录的内容!据我所知,脚本实用程序不会这样做。所以像自动热键,只有bash和linux,记录了时间信息。
问题是:
我想录制和重播一个bash会话,按键之间有准确的时间延迟等等。
例如,如果我运行一个名为xxx
的程序,然后在11.4s之后用Ctrl + C打破它,然后在我退出yyy
后运行一个名为xxx
3.4s的程序,我希望重播能够做同样的事情(在11.4s之后用Ctrl + C中断xxx
,等待3.4s然后再运行yyy
)。
我不需要记录鼠标移动,因为我对录制感兴趣的所有内容都发生在单个bash会话中。
我已将实用程序视为
答案 0 :(得分:2)
script -t是标准答案。
我还用Python重写了脚本,你可以在这里找到: http://stromberg.dnsalias.org/~strombrg/pypty/
两者都支持-t。我写pypty的主要原因是我希望能够每天获取一个文件来记录长ssh会话,以便将来参考。
pypty tarball包含一个脚本重放脚本(注意名称与scriptreplay略有不同),它可以使用gtk或curses在tty日志文件中前进和后退。它倒退的方法有点像黑客(因为vt100并不那么简单),但我发现它在很多场合都非常有用。
答案 1 :(得分:1)
如何用你选择的语言编写一个bash包装器,它可以记录你需要的信息,同时提供对普通bash环境的访问并将系统设置指向你的包装器而不是原始的bash?当您的包装器记录您需要的信息之间时,IO将在客户端服务/用户和真正的bash之间进行管道传输。一旦记录了信息,重放部分就很简单了。如果您对此方法感兴趣,我可以根据要求提供示例。