today=`date +%a`
if [ "$today" == "Mon" ]
then
monday=`date -dmonday +%Y%m%d`
else
monday=`date -dlast-monday +%Y%m%d`
fi
将“星期一”变量设置为上星期一的日期是否是最佳方式?
最佳答案
实际上您的逻辑并不总是设置“上周一”。如果今天是星期一,您将获得当前日期值。
我觉得你的逻辑没问题。但是,您可能会担心一件事,%a
会为您提供一个本地化的工作日名称。来自手册页:
locale’s abbreviated weekday name
还有另一种格式 %u
,您可以使用它来使您的脚本更具可移植性。
%u day of week (1..7); 1 is Monday
关于linux - BASH:在变量中设置最后一个星期一的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797490/