• <shell编程示例 —— 以时间为标识的日志文件>


    1.示例源码

    #!/bin/bash
    #datelog.sh
    
    #当前的日期
    current_date=`date "+%Y%m%d"`
    #今天的日志文件名
    todaylog="${current_date}.log"
    #如果日志文件不存在,创建一个
    if [ ! -f $todaylog ]
    #注意上边的空格一个都不能少 
    then
    #注意touch无法创建目录,所以之前文件名不能包含新目录
    #否则就有touch: 无法触碰 “log/20120228.log”: 没有那个文件或目录
     touch $todaylog
    fi
    
    #输出日志到日志文件
    log_time_format=`date "+%Y-%m-%d %T"`
    echo "${log_time_format} 命令开始">>$todaylog
    
    #command blocks
    sleep 4
    
    #输出日志到日志文件
    log_time_format=`date "+%Y-%m-%d %T"`
    echo "${log_time_format} 命令结束">>$todaylog
    

      

    2.命令解析

    2.1 date命令

    命令功能:date 可以用来显示或设定系统的日期与时间。
    
    命令参数:
    -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 
    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 
    -u:显示GMT; 
    --help:在线帮助; 
    --version:显示版本信息。
    
    日期格式字符串列表:
    %H 小时(以00-23来表示)。 
    %I 小时(以01-12来表示)。 
    %K 小时(以0-23来表示)。 
    %l 小时(以0-12来表示)。 
    %M 分钟(以00-59来表示)。 
    %P AM或PM。 
    %r 时间(含时分秒,小时以12小时AM/PM来表示)。 
    %s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 
    %S 秒(以本地的惯用法来表示)。 
    %T 时间(含时分秒,小时以24小时制来表示)。 
    %X 时间(以本地的惯用法来表示)。 
    %Z 市区。 
    %a 星期的缩写。 
    %A 星期的完整名称。 
    %b 月份英文名的缩写。 
    %B 月份的完整英文名称。 
    %c 日期与时间。只输入date指令也会显示同样的结果。 
    %d 日期(以01-31来表示)。 
    %D 日期(含年月日)。 
    %j 该年中的第几天。 
    %m 月份(以01-12来表示)。 
    %U 该年中的周数。 
    %w 该周的天数,0代表周日,1代表周一,异词类推。 
    %x 日期(以本地的惯用法来表示)。 
    %y 年份(以00-99来表示)。 
    %Y 年份(以四位数来表示)。 
    %n 在显示时,插入新的一行。 
    %t 在显示时,插入tab。 
    MM 月份(必要) 
    DD 日期(必要) 
    hh 小时(必要) 
    mm 分钟(必要)
    ss 秒(选择性)
    

      示例:

    date +"%Y-%m-%d" 
    2015-12-07
    

      

     3.运行效果

  • 相关阅读:
    shiro中 UnknownAccountException
    shiro Filter--拦截器
    java构造器执行顺序一个有趣的简单实例
    Java Serializable接口(序列化)理解及自定义序列化
    js中绑定事件处理函数,使用event以及传递额外数据
    js中的this
    jQuery + ashx 实现图片按比例预览、异步上传及显示
    asp.net中的参数传递:Context.Handler 的用法
    javascript 对象详解
    ashx 文件的运用
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/15005692.html
Copyright © 2020-2023  润新知