Я пишу bash script, который должен печатать дату последнего рабочего дня. Например, если script запущен в понедельник, он напечатает дату в прошлую пятницу.
Я обнаружил, что это печатает дату вчера:
date -d '1 day ago' +'%Y/%m/%d'
Я также знаю, что я могу получить день недели, используя это утверждение
date +%w
Я хочу объединить эти два оператора, чтобы иметь небольшой помощник script, который печатает требуемую дату. Логика идет примерно так (примечание: его псевдокод - я никогда не писал bash script)
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)