Linux 用于回显超出日期范围的脚本

Linux 用于回显超出日期范围的脚本,linux,bash,date,Linux,Bash,Date,我一直在试图得到一个脚本来打印一系列的日期,从开始日期到后天直到现在 例如: Backup-2011-06-14 Backup-2011-06-15 Backup-2011-06-16 下面有一个想法,但一点都不管用,有什么想法吗 start=$(date +%F --date="2011-06-14") echo "$start" current=$(date +%F) echo "$current" end=$(date +%F) while [ "$start" != "$curren

我一直在试图得到一个脚本来打印一系列的日期,从开始日期到后天直到现在

例如:

Backup-2011-06-14
Backup-2011-06-15
Backup-2011-06-16
下面有一个想法,但一点都不管用,有什么想法吗

start=$(date +%F --date="2011-06-14")
echo "$start"
current=$(date +%F)
echo "$current"
end=$(date +%F)

while [ "$start" != "$current" ]; do
    echo backup-$(( $(date --date="$start" +%F) + $(date +%s --date='1 day') ))
done

bash中的日期数学很难。但是
date
命令确实支持对今天的日期进行简单的加减操作。因此,在您的情况下,有必要采用不同的方法。首先,确定要输出这些日期的天数,然后输出与今天日期相关的日期

#!/bin/bash
days=$(( ($(date +%s)-$(date +%s --date="2011-06-14"))/86400 ))

while [ $days -gt 0 ]; do
    echo backup-$(date --date="-$days days" +%F)
    days=$(($days-1))
done

太好了。。。很有魅力-不,我需要尝试解决如何将其添加到我的合并备份脚本:-(可能重复: