我想创建一个附加特定参数的命令仅有的当前时间位于午夜至凌晨 6 点之间。
伪代码示例:
mvn clean verify <#if isBetweenMidnightAnd6AM> -Dfindbugs.skip=false</#if>
是否可以在单个命令行中构建它或者我需要一个 shell 脚本?
答案1
这里使用 shell 脚本几乎肯定更好。你可以用一行非常难看的代码来实现,如下所示:(注意:未经调试/测试)
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
此外,通过脚本您可以进行更好的调试和验证以确保其正常运行。
也就是说,这似乎是无法手动运行的事情,因此您可以非常简单地执行如下 cron 作业:
0 0-6 * * * mvn clean verify -Dfindbugs.skip=false
它将在 0 点(午夜)至 6 点(凌晨 6 点)之间运行命令。