脚本来回应date的范围

我一直在试图获得一个脚本来打印从开始date到当天之后的一系列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" != "$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