shell 判断月末日期
有一个需求,根据输入的时间段,在这个时间段中的是月末的日期执行脚本
解决如下:
#!/bin/bash
if [ -z $1 ]
then
echo "请输入年月日8位开始日期"
exit $E_MISSING_POS_PARAM
fi
if [ -z $2 ]
then
echo "请输入年月日8位结束日期"
exit $E_MISSING_POS_PARAM
fi
if [ $1 -gt $2 ]
then
echo "后面的日期需大于前面的日期"
exit $E_MISSING_POS_PARAM
fi
datebeg=$1
dateend=$2
set -e
beg_s=` date -d "$datebeg" +%s`
end_s=` date -d "$dateend" +%s`
while((end_s>=beg_s))
do
incdate=`date -d @$beg_s +%Y%m%d`
y=`date -d ''$incdate' 0 days' +%Y`
m=`date -d ''$incdate' 0 days' +%m`
d=`date -d ''$incdate' 0 days' +%d`
if [ $(date -d ''$incdate' 0 days' +%d) -eq $(cal $m $y |xargs|awk '{print $NF}') ]
then
echo "是月底,执行该天:$incdate"
#请属于需要执行的命令
else
echo "不是月底,跳过该天:$incdate"
fi
((beg_s+=86400))
done
运行脚本:
[root@master]# sh lastday.sh 20190620 20190801
不是月底,跳过该天:20190620
不是月底,跳过该天:20190621
不是月底,跳过该天:20190622
不是月底,跳过该天:20190623
不是月底,跳过该天:20190624
不是月底,跳过该天:20190625
不是月底,跳过该天:20190626
不是月底,跳过该天:20190627
不是月底,跳过该天:20190628
不是月底,跳过该天:20190629
是月底,执行该天:20190630
不是月底,跳过该天:20190701
不是月底,跳过该天:20190702
不是月底,跳过该天:20190703
不是月底,跳过该天:20190704
不是月底,跳过该天:20190705
不是月底,跳过该天:20190706
不是月底,跳过该天:20190707
不是月底,跳过该天:20190708
不是月底,跳过该天:20190709
不是月底,跳过该天:20190710
不是月底,跳过该天:20190711
不是月底,跳过该天:20190712
不是月底,跳过该天:20190713
不是月底,跳过该天:20190714
不是月底,跳过该天:20190715
不是月底,跳过该天:20190716
不是月底,跳过该天:20190717
不是月底,跳过该天:20190718
不是月底,跳过该天:20190719
不是月底,跳过该天:20190720
不是月底,跳过该天:20190721
不是月底,跳过该天:20190722
不是月底,跳过该天:20190723
不是月底,跳过该天:20190724
不是月底,跳过该天:20190725
不是月底,跳过该天:20190726
不是月底,跳过该天:20190727
不是月底,跳过该天:20190728
不是月底,跳过该天:20190729
不是月底,跳过该天:20190730
是月底,执行该天:20190731
不是月底,跳过该天:20190801
注释:只需要在输入你需要执行的命令即可。
shell 判断月末日期的更多相关文章
- shell判断文件是否存在
转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html 1. shell判断文件,目录是否存在或者具有权限 2. #!/bi ...
- linux中用shell获取时间,日期
linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...
- Linux shell判断文件和文件夹是否存在
shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/acc ...
- shell 判断字符串是否为数字
本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...
- shell判断条件是否存在
1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var ...
- shell 判断文件、目录是否存在
shell判断文件是否存在 1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. m ...
- Javascript Date 判断输入日期是否正确
JavaScript的Date对象有容错性,可将随意给定的日期的年月日自动生成正确的日期时间 //JavaScript中Date对象容错性 function dateCheck(){ var date ...
- Shell 判断文件或文件夹是否存在
#shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文 ...
- [转] Linux shell判断文件和文件夹是否存在
shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/acc ...
随机推荐
- centos7 vim环境优化
centos7默认是使用vi,而不是使用vim,所以,我们需要修改一下vi的别名,并且,我们使用neovim,vi毕竟还是有很多功能比较原始 所以 yum install neovim -ycat & ...
- Unity学习笔记_控制人物移动+摄像机跟随
我想做的移动操作方式类似[流星蝴蝶剑].[龙之谷].[我的世界第三人称]的第三人称操作方式. 操作说明:W键会朝当前镜头方向前进,鼠标控制镜头旋转. 做前需知(先去稍微了解一下比较好): ①unity ...
- flask上下文管理相关 - threading.local 以及原理剖析
threading.local 面向对象相关: setattr/getattr class Foo(object): pass obj = Foo() obj.x1 = 123 # object.__ ...
- vue中 :style 与 :class 三元运算符使用
参考链接:https://www.jianshu.com/p/31664974303d
- 43.QQ聊天软件GUI窗口编写
QQ聊天软件代码功能编写 一,Tkinter聊天界面编写 1,聊天软件客户端界面开发-1 Tkinter的模块(“TK接口”)是标准的Python接口从Tk的GUI工具包 https://i.cnbl ...
- [Agc029B]Powers of two_贪心_树形dp
Powers of two 题目链接:https://atcoder.jp/contests/agc029/tasks/agc029_b 数据范围:略. 题解: 可能一点思路都没有. 但是我们发现:如 ...
- Flutter、Weex、RN,Native对比
- js中遍历对象的属性和值的方法
鉴于循环目标是个对象,length是为undefined,用map等对数组的循环方法不行,对象就用此下方法 for(var key in _this.lists.medicines){ medicin ...
- Lucene 全文检索
基于 lucene 8 1 Lucene简介 Lucene是apache下的一个开源的全文检索引擎工具包. 1.1 全文检索(Full-text Search) 全文检索就是先分词创建索引,再执行搜索 ...
- Beanutils.copyProperties( )用法及重写提高效率
参考地址:https://blog.csdn.net/w05980598/article/details/79134379 待研究中.....