Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103121414
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 23:05:25

作者:styr  出处:Unix爱好者家园unix-cd.com  
精简了一下代码,改while为case,感觉清淅了一些

[code]#!/bin/ksh
#计算昨天.明天日期的脚本 V051129
#四川省乐山市沙湾区邮政局 宋涛

dd=$(date +%d)
mm=$(date +%m)
yy=$(date +%Y)
case $dd in
01) [ $mm = "01" ] && { yesterday=$((yy-1))1231  tomorrow=${yy}0102  } || \
{ yesterday=${yy}$((mm-1))$(cal $((mm-1)) $yy |xargs|awk '{print $NF}')   tomorrow=${yy}${mm}02  } ;
$(cal $mm $yy |xargs|awk '{print $NF}') )
[ $mm = "12" ] && { yesterday=${yy}1230  tomorrow=$((yy+1))0101  } || \
{ yesterday=${yy}${mm}$((dd-1))  tomorrow=${yy}$((mm+1))01  } ;
*) yesterday=${yy}${mm}$(printf "%02d" $((dd-1)))   tomorrow=${yy}${mm}$(printf "%02d" $((dd+1))) ;
esac
echo " yesterday = $yesterday\n tomorrow  = $tomorrow"[/code]
阅读(444) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~