Linux:如何使用取决于当前时间范围的参数来构build单个命令

我想创build一个命令, 在当前时间在午夜和上午6点之间附加一个特定的参数。

示例伪代码:

mvn clean verify <#if isBetweenMidnightAnd6AM> -Dfindbugs.skip=false</#if> 

有可能在单个命令行中构build它,还是需要一个shell脚本?

在这里,你几乎可以肯定用shell脚本更好。 你可以用这样一个非常非常丑陋的线来做:(注意:没有被试探/testing过)

 mvn clean verify $( if [ ($(date +%H) -ge 0) && ($(date +%H) -le 6) ];then echo "-Dfindbugs.skip=false";fi;) 

无论如何,脚本会容易得多。 它看起来像这样:

 if [ ($(date +%H) -ge 0) && ($(date +%H) -le 6) ] then mvn clean verify -Dfindbugs.skip=false else mvn clean verify $Your_other_opts fi 

另外,通过脚本,您可以更好地进行debugging和validation,以确保其正确运行。

也就是说,这似乎是不会手动运行的,所以你可以很简单地做一个cron工作,比如:

 0 0-6 * * * mvn clean verify -Dfindbugs.skip=false 

哪个会在凌晨0点(午夜) – 6点(6点)运行命令。