У меня есть следующий скрипт bash, чтобы увеличить назначенную дату: DATE.Приращение дат с помощью скрипта оболочки
#!/usr/local/bin/bash
DATE=20130625
for i in {1..10}
do
NEXT_DATE=$(date +%Y%m%d -d "$DATE + $i day")
echo $i $NEXT_DATE
done
Однако, это лишь несколько раз печатает сегодняшнюю дату следующим образом.
1 20140122
2 20140122
3 20140122
4 20140122
5 20140122
6 20140122
7 20140122
8 20140122
Любая помощь приветствуется. Кстати, ОС - Solaris 11. Спасибо.
Вы проверили «дату» на своей Solaris, если это дата Gnu? и если он поддерживает выражение '-d '+ x day''? – Kent
Я нахожусь на ubuntu и не могу воспроизвести эту ошибку, так что да, это может быть проблема с 'date' на Solaris 11? Кроме того, не уверен, что это тип, но должно быть ясно, что что-то происходит, поскольку он даже не повторяет $ DATE, с которого вы начали, а скорее сегодняшняя дата. – dwanderson
Обычно это не так, поэтому это должно быть причиной. – fedorqui