我有一个unix脚本,我从命令行获取以下参数:
startDate=$1
endDate=$2
我想检查两个日期是否是yyyyMMdd格式?我怎样才能做到这一点?如果格式不正确,我想退出程序。
我在以下相同的脚本中运行java spring批处理程序:
java commandLineJobRunner jobConfig.xml myJob currDate=$currDate
基本上我正在传递一个工作参数即。 currDate
到myJob
春季批量作业。
我想循环上面的程序,以便程序应该在startDate
和endDate
之间的所有日期运行,currDate=startDate
到currDate=endDate
currDate
在每个循环中增加一天。
我怎样才能做到这一点?
答案 0 :(得分:1)
在BASH / ksh中,您可以使用startDate
中yyyMMDD
的基本验证:
[[ "$startDate" == [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]] && echo "valid"
要从$startDate
获得第二天,您可以使用:
nextDay=`date '+%Y%m%d' -d "$startDate next day"`