Я хочу создать команду, которая добавляет определенный параметр только когда текущее время между полуночью и 6 утра.
Пример псевдокода:
mvn clean verify <#if isBetweenMidnightAnd6AM> -Dfindbugs.skip=false</#if>
Можно ли создать это в одной командной строке или мне нужен сценарий оболочки?
Здесь вам почти наверняка будет лучше использовать сценарий оболочки. Вы могли бы сделать это с помощью очень и очень уродливой строки вроде этой: (примечание: не отлажено / не протестировано)
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 утра).