脚本 shell 录制回放

脚本 shell 录制回放

我希望这有意义。出于各种原因,我使用“脚本”来复制我的 ssh 会话。

当我通过 less 等访问日志时,我看到以下内容:

Script started on Mon 12 Sep 2011 08:59:14 AM CDT

ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]# 
ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]# logout
ESC[HESC[2JConnection to closed.^M
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from ^M
ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]# 
ESC]0;     3.03, 2.32, 2.20^G
test.log (END) 

当我 cat 它时,我看到了这个:

Perk ~ # cat test.log 
Script started on Mon 12 Sep 2011 08:59:14 AM CDT

[root@ ~]# 
[root@ ~]# logout

Connection to closed.
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from 
[root@ ~]# [/code]

如果我尝试将其传送到文件,它会返回看起来像较少的输出。

当我在 vi 中编辑它时,我看到的是:

Script started on Mon 12 Sep 2011 08:59:14 AM CDT
^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# ^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# logout^M
^[[H^[[2JConnection to closed.^M^M
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from ^M^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# ^M
^[]0;     3.03, 2.32, 2.20^G^M

有人知道如何将此cat输出放入文件以便于查看吗?

答案1

而不是常规较少的, 尝试:

less -R

答案2

你为什么不使用脚本

script -t scriptfile > timingsfile

所以你可以

replay scriptfile

时间是可选的。事实上你可以运行replay |ansifilter翻译成 HTML 等等

实时重播确切的脚本。我认为这更合适,因为您显然正在尝试记录交互式会话(大多数 Unix 工具都知道它们何时未连接到 tty(批处理模式、管道 stdin/out),并且已经在这种情况下阻止发出终端代码)


还有终端记录可以控制播放速度。非常适合创建特定的屏幕截图,例如

答案3

有一个命令colcrt可以删除终端格式代码。

相关内容