script
script命令可以用作交互终端会话过程的记录,保留用户输入和系统输出的全过程。以备之后查询与学习,对于初学者、保留工作记录和准备写材料的人而言,这是一个非常有用的工具。
在下述语法中,输出文件是用于存储所有的上机会话过程。如果未指定输出文件,所有的会话过程将会创建并写到当前工作目录的默认文件typescript中,而且每次在当前目录下使用script命令,都将之前的typescript文件内容覆盖。
语法
script 【选项】 【参数】
格式
-a, --append :追加输出
-c, --command <命令> :运行命令而不是交互式 shell
-e, --return:返回子进程的退出代码
-f, --flush:每次 write(写) 后运行 flush(冲刷)
–force 即使输出文件是链接也依然使用
-q, --quiet :安静模式
-t, --timing[=<文件>] :将时间数据输出到标准错误(或文件)
-V, --version :输出版本信息并退出
-h, --help :显示此帮助并退出
简单案例
首先先来简单了解一下,这个交互过程
[root@linus ~]# script
Script started, file is typescript #脚本启动
[root@linus ~]# date
2020年 02月 10日 星期一 04:32:35 CST
[root@linus ~]# uname -r
3.10.0-693.el7.x86_64
[root@linus ~]# echo "hello"
hello
[root@linus ~]# exit
exit
Script done, file is typescript #脚本结束
查看一下typescript保存的交互终端会话过程的记录。
[root@linus ~]# cat typescript
脚本启动于 2020年02月10日 星期一 04时36分04秒
[root@linus ~]# date
2020年 02月 10日 星期一 04:36:09 CST
[root@linus ~]# uname -r
3.10.0-693.el7.x86_64
[root@linus ~]# echo "hello"
hello
[root@linus ~]# exit
exit
Script done on 2020年02月10日 星期一 04时36分20秒
script不仅可以用来作为交互终端会话过程的记录,还可以在其中进行脚本的执行,并将其执行的交互过程存入其文件中。
[root@linus ~]# script
Script started, file is typescript
[root@linus ~]# sh 1.sh
hello
It works
[root@linus ~]# exit
exit
Script done, file is typescript
[root@linus ~]# cat typescript
脚本启动于 2020年02月10日 星期一 04时40分27秒
[root@linus ~]# sh 1.sh
hello
It works
[root@linus ~]# exit
exit
Script done on 2020年02月10日 星期一 04时40分32秒