1.计算测试:

注:分别输入5和1代表5月1日

注:此为计算结果

适用于UTF-8字符集,在Centos6.x中测试成功

2.脚本如下:

#!/bin/bash
#Aiden
#QQ:2575815569
#Please check the exact date of your computer
#How many days are there to calculate to the next few days.
read -p "Please enter your calculate moon (例如:6):" moon
read -p "Please enter your calculate day (例如:18):" day
clear
echo "Now the time is `date|cut -c7-13`"
declare date=`date`
nowmonth=`date|cut -c7-8`
nowday=`date|cut -c11-12`
declare -i oday=`expr $day - $nowday`
declare -i omonth=`expr $moon - $nowmonth`
declare -i cheng=`expr $omonth \* 30`
declare -i jia=`expr $cheng + $oday`
declare -i jian=`expr $nowday - $day`
declare -i jieguo=`expr $cheng - $jian`
declare -i jian2=`expr $nowmonth - $moon`
declare -i cheng2=`expr $jian2 \* 30 + $jian`
declare -i year=`expr 365 - $cheng2`
declare -i year2=`expr $year / 30`
declare -i year3=`expr $year % 30`
declare -i year4=`expr 365 - $jian`
declare -i year5=`expr $year4 / 30`
declare -i year6=`expr $year4 % 30`
if [ $moon -gt $nowmonth ]&&[ $day -gt $nowday ];thenecho "距离$moon月$day日还有$omonth月零$oday天."echo "也就是$jia天."
elif [ $moon -gt $nowmonth ]&&[ $day -lt $nowday ];thenecho "距离$moon月$day日还有$jieguo天."if [ $jieguo -gt 30 ];thenecho "也就是`expr $jieguo / 30`月零`expr $jieguo % 30`天."fi
elif [ $moon -lt $nowmonth ]&&[ $day -lt $nowday ];thenecho "距离$moon月$day日还有$year2月$year3天."echo "也就是$year天."
elif [ $moon -lt $nowmonth ]&&[ $day -gt $nowday ];thenecho "距离$moon月$day日还有$year2月$oday天."echo "也就是`expr $year2 \* 30 + $oday`天."
elif [ $moon -eq $nowmonth ]&&[ $day -eq $nowday ];thenecho "今天就是$moon月$day日哦!"
elif [ $moon -eq $nowmonth ]&&[ $day -gt $nowday ];thenecho "只剩$oday天了."
elif [ $moon -eq $nowmonth ]&&[ $day -lt $nowday ];thenecho "距离$moon月$day日还有$year5月零$year6天."echo "也就是$year4天."
elseclearecho "输入有误!请输入纯数字."
fi(如有报错可能是9.11.12行-c后面的字数需要按照你本机date显示的去修改,一般不需要修改,下面有注释)

3,注释

if -eq等于 -ne不等于 -gt大于 -lt小于 -le小于等于 -ge大于等于 =相等 !=不等 -z空串  -n非空串

if 如果                     elif 再如果                    else 否则                   |管道符                  $变量                 &&并且

expr +加 -减 \*乘 /除 %取余数
declare -i 声明( -i参数为数值) 这里表达声明后面的变量为数值
echo “” 输出到屏幕(``里可以执行命令)
read 基本读取 (-p可以跟多个变量)
cut 文本处理-取值命令
cut -c7-13 -c指定列 这里是7-13列(本文7-13列是月和日,7-8是月,11-12是日,如报错请在你本机date查看日期修改相对字数)

有bug和意见可以直接评论或者私信我都可以

 文章此处为颜色参数请忽略<span style="background-color:rgb(204,204,204);"></span>

不支持中文字符的同学请自行把汉子和!修改掉哦

shell脚本计算离生日还有多少天?相关推荐

  1. 用shell脚本计算日期的小函数们

    参考:http://qiuqiang1985.iteye.com/blog/1647761 参考:http://my.oschina.net/SmileWolf/blog/159624 当你遇到一个d ...

  2. shell脚本计算任意个数的加减乘除

    #!/bin/bash if [ $# -eq 0 ]; thenecho "输入值不能为空" //提示不能输入空值 注:$#代表环境变量个数exit finum=$* //定义一 ...

  3. php 生日还剩多少天,请教PHP中计算离生日还剩下多少天问题?

    如 生日是10-04 那么离他生日应该有200多天的样子 求支招 回复内容: 如 生日是10-04 那么离他生日应该有200多天的样子 求支招 http://php.com/manual/en/dat ...

  4. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

  5. linux shell脚本使用bc命令实现小数数值计算

    目录 问题背景 思路分析 解决方法 问题背景 通常实际工作中使用shell脚本计算小数加减乘除时,需要将计算结果再保存到变量中. 思路分析 使用bc方法,同时新建变量用反引号执行后面计算命令(键盘左上 ...

  6. idmp计算任务shell脚本创建路径全过程

    idmp计算任务线上部署思路全过程 1.预处理 a.准备geohash地理位置字典(很长时间设置一遍) b.id-mapping用户的唯一标识是每天都要去做的! --在hdfs中创建地区字典文件夹 h ...

  7. Shell 脚本的时间的加减,以及时间差的计算

    Shell 脚本时候,遇到的时间处理问题.时间的加减,以及时间差的计算. 1.时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒. 如:1990-01-01 01 ...

  8. Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...

  9. SHELL脚本下获取文件时间转换时间戳,使用时间戳计算日期差

    SHELL脚本下获取文件时间使用时间戳计算日期差 获取时间戳按秒计算 获取 LINUX获取当前时间的时间戳 获取文件的时间戳 计算 获取时间戳按秒计算 获取 LINUX获取当前时间的时间戳 #确认时间 ...

最新文章

  1. qt android 开发之wifi开发篇
  2. 周末一起用文本数据库玩玩Code First
  3. python小程序-python好玩的小程序
  4. python类的继承super方法_Python类的继承super相关原理解析
  5. [BZOJ 2659] [Beijing wc2012] 算不出的算式
  6. mysql分组后再分组_全网最全的mysql分组后取topN的解答
  7. Windows 2012部署Exchange2013
  8. ElasticSearch学习(一):Linux环境准备
  9. webqq linux,Ubuntu 11.10安装WebQQ
  10. 人工智能就是计算机科学的英语,人工智能的英语解释
  11. 华为数据治理及数据分类管理实践
  12. FFmpeg进阶:给视频添加文字水印
  13. tortoisegit 小乌龟的使用
  14. TX2081ALBJ3超低功耗半导体指纹识别模组 智能锁 指纹考勤打卡 指纹门禁系统应用
  15. web页面-JS/DOM/BOM/窗口滚动/修改内容/上传文件
  16. Mac打不开别人的.one文件
  17. 老扎克伯格的四位儿女全是人生赢家,到底是怎么教的?
  18. Android 编译系统之Android.bp
  19. transition transform translate 之间的区别
  20. windows安装IIS服务

热门文章

  1. pdfbox替换模板标签,并将多个pdf合并为一个pdf(有图片插入图片)
  2. 基于决策树的分类预测
  3. 计算机专业毕业论文答辩流程及答辩开场白,论文答辩
  4. 一种4k图像数据增强技术
  5. 【参赛作品20】从零开始,快速认识实践使用openGauss
  6. Iconics genesis64组态软件WPF基础开发(2)
  7. SystemUI 悬浮通知
  8. 批处理下载MODIS数据
  9. 困扰软件研发多年的难题,飞算全自动软件工程平台给了新答案
  10. ibeacon室内定位解决方案,室内定位的进程是这样完结的-新导智能