Я пишу bash-скрипт, который должен напечатать дату последнего рабочего дня. Например, если скрипт выполняется в понедельник, он напечатает дату последней пятницы.
Я обнаружил, что это печатает вчерашнюю дату:
date -d '1 day ago' +'%Y/%m/%d'
Я также знаю, что могу получить день недели, используя это утверждение
date +%w
Я хочу объединить эти два оператора, чтобы получить небольшой вспомогательный скрипт, который печатает требуемую дату. Логика выглядит примерно так (примечание: это псевдокод - я никогда не писал сценарий bash)
DAY_OF_WEEK = `date +%w`
if (%DAY_OF_WEEK == 1)
LOOK_BACK = 3
elif
LOOK_BACK = 1
fi
echo `date -d '%LOOK_BACK day ago' +'%Y/%m/%d'`
Может ли кто-нибудь помочь, исправив приведенный выше псевдокод?
(я работаю в Ubuntu 10.0.4)