-- TOC --
Linux下有一个script命令,可以将用户与terminal的交互全部录制(录文字)下来,交互数据保存在一个文件里面。
$ script -a abc
输入此命令后,tty或pty后面所有的内容,都将被保存在abc文件中。-a
表示append。最后用exit
命令退出,录屏结束(exit其实是退出默认执行的bash命令)。
abc文件是二进制的,里面包含了各种控制terminal的字符,最好使用cat命令查看。cat命令可以将二进制文件的内容重新输出到terminal。
script命令默认启动bash,也可以通过-c
参数指定要录制的命令:
$ script -c python3 abc
退出python3解释器,terminal录制结束。
如果喜欢在python解释器中直接写代码,有担心不方便保存,这个方法不错。
有一个跟script命令配套的命令,叫做scriptreplay
,用来回放与terminal的交互,但需要在script命令中使用--timing
参数,记录时间:
$ script --timing=scriptime abc
......
$ scriptreplay -t scriptime -s abc
...... # terminal replay
Python3的lib中有个pty模块,官方手册在pty模块的说明中,提供了一个用pty模块接口实现的模拟script命令的程序。
本文链接:https://cs.pynote.net/sf/linux/shell/202204291/
-- EOF --
-- MORE --