从输入中获取最近 5 天的日期(读取命令行)

从输入中获取最近 5 天的日期(读取命令行)

我有一个脚本,可以从用户输入的数据中获取最近 5 天的数据。

例子:

Choose the month: 
1 - Jan
2 - Feb
...
12- Dec  // I used if else here 

Insert day:
30

我的预期输出是这样的:

Jun 30
Jun 29
Jun 28
Jun 27
Jun 26

这可能吗?我已经检查了date命令,但我只能复制今天获取的日期,然后使用-d命令。我无法输入我想要检查的日期。

答案1

使用 GNU date(1)

start_day=3
start_month=Jun
for d in {0..4}; do
    date -d "$start_month $start_day - $d days" +'%b %d'
done

输出:

Jun 03
Jun 02
Jun 01
May 31
May 30

在没有 GNU 的情况下做同样的事情date(1)是可能的,但可能会更加痛苦。

相关内容