当前位置:  技术问答>linux和unix

小弟今天学到了if语句和case语句,写了个时间脚本,求精简!

    来源: 互联网  发布时间:2017-01-28

    本文导语:  用了一下午时间,写了个判断时间的脚本,脚本后面加时间 输出结果为下一天。 #!/bin/sh fileyear=`echo $1|cut -c 1-4` filemonth=`echo $1|cut -c 5-6` fileday=`echo $1|cut -c 7-8` case $filemonth in   01|03|05|07|08|10) if [ ${fileday} == "...

用了一下午时间,写了个判断时间的脚本,脚本后面加时间 输出结果为下一天。
#!/bin/sh
fileyear=`echo $1|cut -c 1-4`
filemonth=`echo $1|cut -c 5-6`
fileday=`echo $1|cut -c 7-8`
case $filemonth in
  01|03|05|07|08|10)
if [ ${fileday} == "31" ];then
    days=01
    months=`expr ${filemonth} + 1`
    years=$fileyear
else
    days=`expr ${fileday} + 1`
    months=$filemonth
    years=$fileyear
fi
nextday=${years}${months}$days
;;
04|06|09|11)
if [ ${fileday} == "30" ];then
    days=01
    months=`expr ${filemonth} + 1`
    years=$fileyear
else
   days=`expr ${fileday} + 1`
    months=$filemonth
    years=$fileyear
fi
nextday=${years}${months}$days
;;
02)
if [ `expr $fileyear % 4` -eq 0 ]; then
 if [ `expr $fileyear % 400` -eq 0 ];
 then days=29
 elif [ `expr $fileyear % 100` -eq 0 ];
 then days=28
else days=29
 fi
else
days=28
fi
if [ $days == $fileday ];then
   days=01
    months=`expr ${filemonth} + 1`
    years=$fileyear
else
    days=`expr ${fileday} + 1`
    months=$filemonth
    years=$fileyear
fi
nextday=${years}${months}$days
;;
12) days=31
if [ $days == $fileday ];then
days=01
months=01
years=`expr $fileyear + 1`
else
    days=`expr ${fileday} + 1`
    months=$filemonth
    years=$fileyear
fi
nextday=${years}${months}$days
;;# ./nextday.sh 20110228
2011301
# ./nextday.sh 20000228
20000229
# ./nextday.sh 20111231
20120101
# ./nextday.sh 20110228
2011301
# ./nextday.sh 20120229
2012301
# ./nextday.sh 20000229
2000301
# ./nextday.sh 21000228
2100301
esac
echo $nextday

特殊日子结果为:


|


[[ ... ]] 这个是由bash版本决定的。和系统无关。 如果没有[[ ]]的话 用[ ]也行

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大哥们,小弟我准备学JAVA了给推荐几本好书吧!小弟不胜感激啊!
  • 小弟问个问题,JDK哪有下载啊!小弟不胜感激啊!
  • linux高人!!!帮帮小弟啊,小弟是菜鸟
  • 哥们,谁有Jbuilder 4的注册码,给小弟解围,小弟谢先!!!
  • 小弟考试在即!望大哥们帮忙!!!跪求!!!
  • 哪位大哥给小弟一个squirrelmail的安装教程
  • 各位网络编程的大侠,帮帮小弟
  • OpenSSL安装过程中遇到的问题,希望大哥们帮帮小弟
  • 请各位大虾给小弟推荐几本好书
  • 小弟想在linux下访问windows 和usb的文件系统
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 各位兄弟 谁有 powerZip 5.21 的注册码,小弟不胜感激!!
  • 小弟想用java做个sygate
  • 求教:文件打包移植错误发生排序错误,小弟努力送分送分啦!59~~~
  • 小弟急需要知道程序员查分网站。多谢!!!
  • 小弟签约银行,想装个unix先熟悉一下!
  • 小弟高分求“Linux 0.02版”的源代码!
  • 小弟是初学者,请推荐几本不错的unix书籍。
  • 小弟想学linux,推荐几本好书,有电子版下载的最好.
  • ★★★那位仁兄有Apache的源代码?小弟急用!多谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3