很多时候我们需要打印出日期,设置日期和时间,根据日期来执行操作,并且进行延时操作,比如过几秒就执行一次监视任务.我们会告诉如何处理时间和延时
我们可以以多种格式打印日期,在命令行中设置日期,在类UNIX系统中,日期被存储到一个整数中,从1970.1.1 0点0分0秒开始的秒数,这就是Unix时间,如何去读取他呢?
首先是获取当前的事件
$date
The May 20 23:09:04 IST 2010
获取到对应的UNIX事件
date +%s
根据这个操作获得一个秒级的数字
如果要从给的日期字符串中获得对应的Unix时间戳的说话,可以按照如下的格式,将日期串转为Unix时间戳
date –date “Thu Nov 18 08:08:21 IST 2010 +%s”
使用–date 表示提供日期字符串作为输入
我们可以使用任意的日期格式选项来打印输出
例如
date –date “Jan 20 2001” +%A
Saturday
对应的格式化字符串表如下
利用格式串加上 +作为date命令的参数,可以打印出对应格式的日期
date “+%d%B%Y”
获取到对应的日期
设置日期和时间
date -s “格式化字符串”
检查啊一组命令的花费时间,就需要如下的方式
对于进行延时,如何进行操作
为了在脚本之中推迟执行,可以使用sleep
sleep no_of_seconds
我们使用下面的脚本从0计数到40
#!/bin/bash
echo -n Count: tput sc count=0; while true; do if [ $count -lt 40 ]; then let count++ sleep 1; tput rc tput ed echo -n $count else exit 0; fi done |
这样,将count初始化为0,随后每次循环一次
echo打印出每次count大的值,
在之前使用tput sc存储光标的位置,在之后,使用tput rc恢复光标的位置
tput ed在恢复的过程中,清除了从当前光标到移动光标的所有内容,以重新写入