欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本制作的終端會(huì)話回放功能腳本分享

 更新時(shí)間:2014年11月28日 10:53:12   投稿:junjie  
這篇文章主要介紹了Shell腳本制作的終端會(huì)話回放功能腳本分享,本文分兩個(gè)文件,Record.sh是用來(lái)記錄你所執(zhí)行的命令和屏幕的輸出的,而Replay.sh是用來(lái)回放Record.sh所錄制的內(nèi)容的,需要的朋友可以參考下

不久前在書(shū)上看到兩個(gè)很有趣的命令——script和srciptreplay,它可以把終端會(huì)話記錄到一個(gè)文件中,即是說(shuō)我們可以通過(guò)終端會(huì)話來(lái)來(lái)制作命令行技巧視頻教程,也可以與他人分享會(huì)話文件,而且生成的文件還只是一般的文本文件,文件的大小非常小,真是非常有意思。下面是本人寫(xiě)的兩個(gè)shell程序,來(lái)方便進(jìn)行這個(gè)有趣并有意義的操作。

一、實(shí)現(xiàn)代碼

文件:Record.sh

復(fù)制代碼 代碼如下:

#! /bin/bash 
# Filename:Record.sh 
 
read -p "Please input the sesson filename you want to creat: " filename; 
 
sesfile="$filename.session" 
logfile="$filename.timing.log" 
 
if [ -e $sesfile ];then 
    echo "$sesfile is Exsit,Creat session file fault!"; 
    read -p "If you want to reload the file? [Y/N]: " flag; 
    if [ "$flag" = "Y" ];then 
        rm $sesfile $logfile; 
        script -t 2> $logfile -a $sesfile; 
    else 
        echo "Nothing to do!"; 
    fi 
     
else 
    script -t 2> $logfile -a $sesfile; 
fi  

文件:Replay.sh

復(fù)制代碼 代碼如下:

#! /bin/bash 
# Filename:Replay.sh 
 
read -p "Please input the session filename: " filename 
logfile="$filename.timing.log" 
sesfile="$filename.session" 
if [ -e $sesfile ]; then 
    scriptreplay $logfile $sesfile 
    echo 
else 
    echo "$filename is NOT Exsit!" 
fi 

二、程序分析

首先來(lái)說(shuō)說(shuō)這兩個(gè)文件分別是用來(lái)干什么的吧,Record.sh是用來(lái)記錄你所執(zhí)行的命令和屏幕的輸出的,而Replay.sh是用來(lái)回放Record.sh所錄制的內(nèi)容的。

在Record.sh中,首先要求你輸入一個(gè)用來(lái)保存信息的文件名,如output,然后在程序中創(chuàng)建兩個(gè)文件,文件名為你所輸入的文件名加上不同的后綴形成,如output.timing.log和output.session,然后檢查所輸入的文件是否已存在,若存在,則詢問(wèn)是否以新的文件覆蓋舊的文件,若是,則刪除原有文件,創(chuàng)建新的文件并寫(xiě)入數(shù)據(jù),若否,則不做任何工作。Replay.sh中輸入一個(gè)文件名,首先判斷該文件是否存在,存在則播放。

在Record.sh中,可以看到script的參數(shù)是兩個(gè)文件,為了便于辨認(rèn),我在輸入的文件名加上了特定的后綴,即使在Linux上,文件后綴是沒(méi)意義的,其中一個(gè)后綴的.timing.log,用于存儲(chǔ)時(shí)序信息,描述每一個(gè)命令在何時(shí)運(yùn)行,另一個(gè)文件,后綴為.session,用于存儲(chǔ)命令輸出。有了這兩個(gè)文件就可以實(shí)現(xiàn)播放功能,這就有點(diǎn)像大家熟悉的Windows下的lrc歌詞文件的播放功能吧,個(gè)人覺(jué)得。

而由于有兩種輸出,所以就要用數(shù)據(jù)流重定向,把不同的輸出流輸出不同的文件中,在Record.sh中我們也可以看到,我們用2>把時(shí)序信息通過(guò)stderr寫(xiě)入文件*.timing.log,通過(guò)>把命令執(zhí)行信息寫(xiě)入文件*.session。

而Replay.sh則相對(duì)簡(jiǎn)單,它只需要判斷輸入的文件是否存在,就可以進(jìn)行播放。如你想播放上面Record.sh中制作的文件,則只需要輸入output即可。

非常有意思吧!

相關(guān)文章

  • shell腳本編程Makefile的使用

    shell腳本編程Makefile的使用

    本文主要介紹了shell腳本編程Makefile的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 淺談shell腳本免交互的四大方法

    淺談shell腳本免交互的四大方法

    這篇文章主要介紹了淺談shell腳本免交互的四大方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Shell腳本echo指令使用小技巧

    Shell腳本echo指令使用小技巧

    這篇文章主要介紹了Shell腳本echo指令使用小技巧,包括使用echo指令輸出換行、輸出不換行、輸出變量等技巧,需要的朋友可以參考下
    2014-07-07
  • shell命令執(zhí)行hive腳本(hive交互)

    shell命令執(zhí)行hive腳本(hive交互)

    本文主要介紹了shell命令執(zhí)行hive腳本(hive交互),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Shell自動(dòng)化配置SSH免密登錄和取消SSH免密配置腳本

    Shell自動(dòng)化配置SSH免密登錄和取消SSH免密配置腳本

    本文主要介紹了Shell自動(dòng)化配置SSH免密登錄和取消SSH免密配置腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    大家好,本篇文章主要講的是shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下哦
    2021-11-11
  • 統(tǒng)計(jì) cpu 內(nèi)存 使用率的shell腳本代碼

    統(tǒng)計(jì) cpu 內(nèi)存 使用率的shell腳本代碼

    統(tǒng)計(jì) cpu 內(nèi)存使用率的腳本,有需要的朋友可以參考下
    2013-02-02
  • Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解

    Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解

    這篇文章主要介紹了Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Linux Shell腳本系列教程(二):終端打印命令詳解

    Linux Shell腳本系列教程(二):終端打印命令詳解

    這篇文章主要介紹了Linux Shell腳本系列教程(二):終端打印命令詳解,本文著重講解了echo終端打印、printf終端打印兩個(gè)打印出輸出命令,需要的朋友可以參考下
    2015-06-06
  • Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用

    Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用

    這篇文章主要介紹了Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用,本文先是給出了需求和需求分析,然后給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-12-12

最新評(píng)論