shell脚本实例之命令记录

输入1:
[[email protected]250-shiyan rec]# cat record1
#!/bin/bash
#Filename:Record.sh

dir=/tmp/rec
read -p "Please input the session filename: " filename
sesfile="$dir/$filename.session"
logfile="$dir/$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

输入2:
[[email protected]250-shiyan rec]# cat replay1
#!/bin/bash
#Filename:Replay.sh
dir=/tmp/rec/
read -p "Please input the session filename: " filename
logfile="$dir$filename.timing.log"
sesfile="$dir$filename.session"
if [ -e $sesfile ]
 then
 scriptreplay $logfile $sesfile
 echo
else
 echo "$filename is NOT Exsit!"
fi

记录:
[[email protected]250-shiyan rec]# bash record1
Please input the session filename: uu
Script started, file is /tmp/rec/uu.session

[[email protected]250-shiyan rec]# exit
exit
Script done, file is /tmp/rec/uu.session

回放:
[[email protected]250-shiyan rec]# bash replay1
Please input the session filename: uu
时间: 2024-10-11 05:06:52

shell脚本实例之命令记录的相关文章

7个shell脚本实例--shell脚本练习必备

概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 一.监测Nginx访问日志Exception情况,并做相应动作 假设服务器环境为lnmp,监控出现Exception错误,并钉钉通知. #场景: #1.访问日志文件的路径:/data/logs/plateno-coupon-server/plateno-coupon-server.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为300条

Linux shell 脚本实例【转】

1. 写一个脚本,利用循环计算10的阶乘#!/bin/shfactorial=1for a in `seq 1 10`do       factorial=`expr $factorial \* $a`doneecho "10! = $factorial" 2. 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值.直到用户输入"end"停止.#!/bin/shuns

vim,grep,shell脚本实例及find用法

vim,grep,shell脚本实例及find用法 1.定义一个对所有用户都生效的命令别名 定义一个对所有用户都生效的命令别名需要更改全局配置文件/etc/bashrc, 例如,我们以root用户编辑/etc/bashrc,在文件的最后一行增加alias like='ls' 当我们新启一个shell进程的时候,列出命令别名,会发现刚定义的别名like [[email protected] ~]# tail /etc/bashrc . "$i" >/dev/null fi fi d

【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次,因为老伯们也不容易啊,屌丝何苦为难屌丝... 废话不多说了上脚本! ? 1 2 3 找出CPU占用超过90%的MATLAB进程,grep -v 去掉"grep"进程 pids=`ps aux|grep "MATLAB"|grep -v "grep"

shell脚本和常用命令

什么是脚本? 脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX, Lua等. 为什么要学习和使用shell? Shell属于内置的脚本 程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 语法简单,代码写起来比较轻松,简单易学

shell脚本实例

备注:一些与传递给shell的参数相关的变量:$# 命令行参数的个数$? 调用命令的返回值$$ 当前进程的进程号$! 最后一个后台命令的进程号$0 命令行的第一个参数,也就是命令名$n 命令行的第n个参数,如果要取超过9个参数${n}$* 所有的命令行参数,等于("$1 $2...""[email protected]" 所有的命令行参数,等于("$1" "$2"...)$_ 前一个命令的最后一个命令行参数   1.     

通过ant调用shell脚本执行adb命令

在Hudson或者Jenkins中利用ant的exec 来调用shell命令,通过shell脚本来执行adb shell命令,可以正常执行,不会出现在ant中直接调用adb shell出现的假死情况. 其中shell 脚本也很简单 #!/bin/sh adb root adb shell chmod 777 /system/data/lib adb shell ./system/data/lib/helloworld 可以执行手机端中的程序进行测试.

shell脚本之tr命令使用

tr命令用来进行对标准输入的内容做替换.例如 # echo 'HELLO WORLD!!!' | tr "A-Z" "a-z" hello world!!! 这里的"A-Z"."a-z"都表示集合,shell脚本中定义集合类型很简单,即指定集合序列即可,但是对于上边的情形,不得非输入所有集合类型,可以通过“开始字符-结束字符”方式进行集合定义.使用tr命令结合集合使用,可以解决很多复杂问题. 使用tr进行数据加密,解密: #

hive里用shell脚本封装HiveF命令

hive里面有个hive -e 命令可以传参数,但是当hql语句多了以后,整个shell脚本会显得比较凌乱,当然有人可能会说hive -f可以实现直接调用一个file,bingo的确如此,但是还是有个很大的缺陷,就是这个不能传参数了,不能传参数在实际的工作中是无法忍受的.于是想到了封装一个命令HiveF,既能直接传入file,又能传参数.其实实现很简单,下面就把代码分享出来.当然还不是很完善,抛砖引玉吧. #!/bin/bash . /etc/profile cat $1 > $1.tmp fo