在Unix中循环运行java程序

时间:2014-02-18 06:49:02

标签: regex unix ksh

我有一个unix脚本,我从命令行获取以下参数:

startDate=$1
endDate=$2

我想检查两个日期是否是yyyyMMdd格式?我怎样才能做到这一点?如果格式不正确,我想退出程序。

我在以下相同的脚本中运行java spring批处理程序:

java commandLineJobRunner jobConfig.xml myJob currDate=$currDate

基本上我正在传递一个工作参数即。 currDatemyJob春季批量作业。

我想循环上面的程序,以便程序应该在startDateendDate之间的所有日期运行,currDate=startDatecurrDate=endDate currDate在每个循环中增加一天。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

在BASH / ksh中,您可以使用startDateyyyMMDD的基本验证:

[[ "$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"`