• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Linux Shell制作录制回放功能脚本

php 搞代码 3年前 (2022-01-22) 40次浏览 已收录 0个评论

之前看到过俩个很有意思的命令script和srciptreplay,可以把终端的会话记录到一个文件里,今天就给大家做一下有趣并有意义的操作。

一、实现代码

文件:Record.sh

#! /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   <div style="color:transparent">!本文来源gaodai.ma#com搞##代!^码网(</div><sup>搞gaodaima代码</sup> 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

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

二、程序分析

首先来说说这两个文件分别是用来干什么的吧,Record.sh是用来记录你所执行的命令和屏幕的输出的,而Replay.sh是用来回放Record.sh所录制的内容的。

在Record.sh中,首先要求你输入一个用来保存信息的文件名,如output,然后在程序中创建两个文件,文件名为你所输入的文件名加上不同的后缀形成,如output.timing.log和output.session,然后检查所输入的文件是否已存在,若存在,则询问是否以新的文件覆盖旧的文件,若是,则删除原有文件,创建新的文件并写入数据,若否,则不做任何工作。Replay.sh中输入一个文件名,首先判断该文件是否存在,存在则播放。

在Record.sh中,可以看到script的参数是两个文件,为了便于辨认,我在输入的文件名加上了特定的后缀,即使在Linux上,文件后缀是没意义的,其中一个后缀的.timing.log,用于存储时序信息,描述每一个命令在何时运行,另一个文件,后缀为.session,用于存储命令输出。有了这两个文件就可以实现播放功能,这就有点像大家熟悉的Windows下的lrc歌词文件的播放功能吧,个人觉得。

而由于有两种输出,所以就要用数据流重定向,把不同的输出流输出不同的文件中,在Record.sh中我们也可以看到,我们用2>把时序信息通过stderr写入文件*.timing.log,通过>把命令执行信息写入文件*.session。

而Replay.sh则相对简单,它只需要判断输入的文件是否存在,就可以进行播放。如你想播放上面Record.sh中制作的文件,则只需要输入output即可。

相信看了这些案例你已经掌握了方法,更多精彩请关注搞代码其它相关文章!

相关阅读:

实例详解ajax实现无刷新上传文件功能

PHP中使用jQuery+Ajax实现分页查询功能

AJAX实现简单的注册页面异步请求实例代码

以上就是Linux Shell制作录制回放功能脚本的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux Shell制作录制回放功能脚本

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址