Если вы не возражаете закодировать функцию bash
для этого, вы можете использовать что-то вроде следующей функции getNextQuarter
:
# getNextQuarter - returns YYYY-MM-DD for the first day of the next quarter.
getNextQuarter() {
m="$(date +%m)"
case $m in
'01' | '02' | '03') echo "$(date +%Y)-04-01" ;;
'04' | '05' | '06') echo "$(date +%Y)-07-01" ;;
'07' | '08' | '09') echo "$(date +%Y)-10-01" ;;
'10' | '11' | '12') echo "$(expr $(date +%Y) + 1)-01-01" ;;
esac
}
nq=$(getNextQuarter)
echo $nq
Даже в сценарии оболочки вы должны учитывать улучшения читабельности, которые можно получить, используя хорошо названные функции, возможно, зашифрованные строки.
Теперь это, вероятно, не будет ослепительно быстрым, но, если честно, если бы скорость была вашей главной заботой, я бы все равно пересмотрел сценарии оболочки.
Подумайте о том, что другие (или даже вы через шесть месяцев) подумают о вашем коде при его просмотре. Мне нравится жить в предположении, что те, кто должен поддерживать мой код, - это психопаты, которые знают, где я живу.