Мне нужно выполнить определенную команду для нескольких дат.С этой целью я написал простой скрипт, который будет перебирать даты, отформатированные так, как команда будет ожидать их, используя команду date:
startdate=`/bin/date --date="January 22 2011" +%e-%b-%Y`
enddate=`/bin/date --date="7-Nov-2011" +%e-%b-%Y`
echo "Start Date: $startdate"
echo "End Date: $enddate"
sleep 5
incdate="$startdate"
until [ "$incdate" == "$enddate" ]
do
echo "$incdate"
incdate=`/bin/date --date="$incdate 1 day" +%e-%b-%Y`
done
exit
Если я установлю enddate в «6-Nov-2011» скриптостановится, как ожидается, после печати 5 ноября 2011 года.Однако, если я установлю enddate на «7-Nov-2011», как указано выше, скрипт будет печатать «6-Nov-2011» навсегда.Я не могу понять, почему ... какие-то идеи?Спасибо.