在Mac上录制终端的脚本

时间:2013-07-30 08:41:13

标签: macos terminal

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上是否有任何已编译的可删除文件?

4 个答案:

答案 0 :(得分:6)

ttyrec包含针对计时问题的修复,并且出于所有意图和目的,提供相同的功能(在其联机帮助页中描述为script的衍生物)。它可以通过brew(brew install ttyrec)或MacPorts(sudo port install ttyrec)获得。

  • ttyrec:官方网站
  • shelr.tv:YouTube终端录音
  • ttygif:将终端录制内容转换为动画GIF

答案 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)的包含文件中的声明之间存在冲突。