2013-07-30 331 views
5

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),但沒有成功:在Mac上記錄終端的腳本

$ 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編譯excutable在那裏?

回答

0

I am trying to compile the package util-linux (https://github.com/karelzak/util-linux , which contains linux version script) but without success:

編譯器對'不兼容類型'的錯誤信息是它失敗原因的線索。駐留在OS X(基於BSD)的系統頭文件中的聲明與來自util-linux(基於GNU/Linux的)的包含文件中的聲明之間存在衝突。

6

ttyrec包括對時間問題的修復,並且對於所有意圖和目的,它們都具有相同的功能(在其手冊中描述爲script的衍生物)。它可以通過brew(brew install ttyrec)或MacPorts(sudo port install ttyrec)獲得。

+0

OSX High Sierra:'錯誤:端口ttyrec未找到,並且brew版本失敗'出pty's' :( –

1

script版本的OS X的-r選項,它會記錄所有輸入,輸出和時間在一個文件中。它可以使用-p選項進行重播。

3

萬一別人絆倒在這裏試圖找出如何對被記錄的script使用util-linux版的MacOS重播腳本,你可能會發現這個有用:

https://bitbucket.org/rewbs/docker-scriptreplay

這只是一個非常簡單的基於Alpine Linux的Docker鏡像,使您可以在MacOS上運行scriptreplay(通過Docker)。我發現這很有用,可以確保Mac用戶的廣泛受衆可以使用標準工具重播Linux服務器上記錄的腳本。希望別人認爲這有用! :)