沙滩星空的博客沙滩星空的博客

Shell脚本获取格式化日期与时间总结

logtime.sh

#!/bin/bash
nowtime=`date +"%Y-%m-%d %H:%M:%S"`

if [ "$2" == "" ]; then
    dirpath=~/
else
    dirpath=~/$2/
fi

if [ ! -d $dirpath ]; then
    mkdir $dirpath
fi

echo ${nowtime}" start "${1} >> ${dirpath}${1}.log

if 条件语句,中括号里面,两边都要有空格。
ubuntu 或 deepin 系统,默认的sh是dash。执行./logtime.sh正常。执行sh logtime.sh报错。

logtime.sh: 4: [: ==: unexpected operator

将 == 改为 = 就行了,因为dash判断字符串相等用的是单个等于号 =. 等于号两边用空格。

#获取今天日期 yyyy-MM-dd 格式
today1=`date --date='0 days ago' +%Y-%m-%d`
#获取当前时间 yyyy-MM-dd HH:mm:ss 格式
nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
#获取昨天日期 yyyy-MM-dd 格式
yesterday2=`date --date='1 days ago' +%Y-%m-%d`
#获取1小时前时间 yyyy-MM-dd HH:mm:ss 格式
onehourage=`date --date='1 hours ago' "+%Y-%m-%d %H:%M:%S"`
#获取1小时后时间 yyyy-MM-dd HH:mm:ss 格式
onehourage2=`date --date='1 hours' "+%Y-%m-%d %H:%M:%S"`


#获取1个月前时间 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago' "+%Y-%m-%d %H:%M:%S"
#获取1个月加1天前时间 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago + 1 day ago' "+%Y-%m-%d %H:%M:%S"
#获取1个月减1天前时间 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago - 1 day ago' "+%Y-%m-%d %H:%M:%S"
#获取1个月加1天加1小时加1分钟加1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month + 1 day  + 1 hour  + 1 min  + 1 sec ' "+%Y-%m-%d %H:%M:%S"

Shell脚本获取格式化日期与时间总结 https://blog.csdn.net/kwu_ganymede/article/details/50395000
shell中的各种括号用法 https://blog.csdn.net/wllinux12138/article/details/82693079
未经允许不得转载:沙滩星空的博客 » Shell脚本获取格式化日期与时间总结

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址