下面的脚本可以模拟一个时钟,“实时”显示系统的当前时间:
#!/bin/bash
# This is a clock, it will display time once a second, in the same position
# File name: clock.sh
tput sc
while true
do
echo -n `date`
sleep 1
tput rc
tput ed
done
tput sc: 存储光标位置
tput rc: 恢复光标位置
tput ed: 清除光标之后的数据
这个脚本做的工作是,先保存光标位置,每输出一次时间之后,就恢复光标位置、并清除光标之后的内容。这样时间就不停地(每隔一秒)写入原来的位置并被清除,看起来就是一个时钟
由于时钟是一个动态的变化过程,我使用下面的办法录制了执行过程:
qingsong@db2a:/tmp$ script -t 2> timing.log -a output.session
qingsong@db2a:/tmp$ cat clock.sh
qingsong@db2a:/tmp$ bash clock.sh
Thu Aug 24 21:29:22 PDT 2017 ^C
qingsong@db2a:/tmp$ exit
您可以下载timing.log和output.session文件,然后使用下面的命令观看动态的效果:
$ scriptreplay timing.log output.session
两个文件下载链接:http://pan.baidu.com/s/1mhNhu7u