script
是记录终端(http://linuxers.org/article/script-command-line-tool-recordsave-your-terminal-activity)中所有活动的绝佳工具。 Mac上内置的script
可执行文件无法记录打字稿的时间。我正在尝试编译包util-linux(https://github.com/karelzak/util-linux,其中包含linux版本script
),但没有成功:
$ make
make all-recursive
Making all in po
make[2]: Nothing to be done for `all'.
CC lib/libcommon_la-strutils.lo
In file included from lib/strutils.c:16:
./include/strutils.h:77: error: conflicting types for 'strmode'
/usr/include/string.h:168: error: previous declaration of 'strmode' was here
lib/strutils.c:351: error: conflicting types for 'strmode'
/usr/include/string.h:168: error: previous declaration of 'strmode' was here
lib/strutils.c: In function 'size_to_human_string':
lib/strutils.c:442: warning: format '%jd' expects type 'intmax_t', but argument 8 has type 'uint64_t'
make[2]: *** [lib/libcommon_la-strutils.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Mac上是否有任何已编译的可删除文件?
答案 0 :(得分:6)
ttyrec
包含针对计时问题的修复,并且出于所有意图和目的,提供相同的功能(在其联机帮助页中描述为script
的衍生物)。它可以通过brew(brew install ttyrec
)或MacPorts(sudo port install ttyrec
)获得。
答案 1 :(得分:3)
OS X上的script
版本具有-r
选项,该选项将在单个文件中记录所有输入,输出和计时。它可以使用-p
选项重播。
答案 2 :(得分:3)
以防万一其他人在这里试图弄清楚如何重放MacOS上使用util-linux版本的script
录制的脚本,你可能会觉得这很有用:
https://bitbucket.org/rewbs/docker-scriptreplay
这只是一个非常简单的基于Alpine Linux的Docker镜像,可让您在MacOS上运行scriptreplay
(通过Docker)。我发现这对确保广大Mac用户可以使用标准工具重播Linux服务器上记录的脚本非常有用。希望别人觉得这很有用! :)
答案 3 :(得分:0)
我正在尝试编译包util-linux(https://github.com/karelzak/util-linux,其中包含linux版本脚本),但没有成功:
编译器对“不兼容类型”的错误消息是失败原因的线索。驻留在OS X(基于BSD)的系统头文件中的声明与来自util-linux
(基于GNU / Linux)的包含文件中的声明之间存在冲突。