天天看點

Linux下利用script指令錄制并回放終端會話核心指令使用說明關于參數的說明一個簡單的例子

核心指令

script -t 2>[time.file] (-a output.file)

scriptreplay [time.file] [output.file]

使用說明

  1. script/scriptrelpay實作依賴于一個時間點檔案time.file和一個輸出檔案output.file。
  2. 執行scriptreplay可以模拟之前錄制的行為,但務必注意:回放并不能産生任何實際的改變

    (例如我在錄制期執行了

    touch 1.cpp

    但是回放時并不能真的建立這個檔案)
  3. 是以此指令一般用于示範,其最大的優點在于可複制兩個文本檔案,并在不同裝置間回放該腳本。

關于參數的說明

  1. 若想實作完整的錄制功能,就必須有一個time檔案,檔案名可以任意取但一定注意

    -t

    後面的

    2>

    。這條語句是将stderr重定向輸出到檔案。缺少這段語句将失去模拟回放的功能。
  2. output.file存儲了全部的輸出資訊,也是我們回放資訊的來源。

    -a

    的意義是将輸出append到檔案。之是以這麼做是因為在錄制期間我們已經對指令行作了有效的輸出,是以若要保留這些輸出資訊,必須把輸出流複制一下,也就是append。
  3. 如果不添加

    -a output.file

    這段語句,則預設生成一個名為

    typescript

    的檔案,可以使用這個預設檔案作為output.file
  4. output.file中除了輸出的文本資訊外,還儲存了光标移動的資訊。
  5. 錄制腳本後用exit推出
  6. 如果開始一次新的錄制,應該建立兩個新的記錄檔案而非使用原來的。因為腳本的append方式并不會将原來檔案内容清空而是在末尾添加。

一個簡單的例子

錄制腳本

$ script -t >time.file -a output.file
#開始錄制了
$ ls -al
c c c
#執行一個指令
$exit
#結束錄制
           

回放腳本

$ scriptreplay time.file output.file
#腳本将會自動回放
           

繼續閱讀