Код: Выделить всё
mount=`date "+%m"`
#tempmou=$((mount+1))
#mount=8
#echo $mount $tempmou
year=`date "+%Y"`
day=`date "+%-e"`
prevyear=$(($year-1))
#echo $prevyear
prevmount=$(($mount-1)) # вот это строка 13 в которой происходит первая ошибка
#echo $prevmount
nextyear=$(($year+1))
nextmount=$(($mount+1))До августа все работало нормально, а первого числа августа стала появляться такая ошибка:
[pas@localhost ~]$ /home/pas/dist/karamba/Calendar/calend
/home/pas/dist/karamba/Calendar/calend: line 13: 08: value too great for base (error token is "08")
/home/pas/dist/karamba/Calendar/calend: line 16: 08: value too great for base (error token is "08")
/home/pas/dist/karamba/Calendar/metall.png
[pas@localhost ~]$
Если вместо mount=`date "+%m"` поставить mount=`date "+%-m"`, то все работает нормально. Т.е. проблемма заключается именно в нуле и именно когда цифра "08", на предыдущие и девятку он так не реагирует.
В принципе скрипт я уже поправил, но хотелось бы разобраться из-за чего такой косяк выскакивает?
Может, кто ответит?
PS: как я выяснил, это происходит из-за того, что если впереди стоит ноль, то считается, что число в восьмеричной с-ме счисления, и вопрос несколько меняется, а можно ли как то указать, что число в десятичной с-ме?
Про работоспособность с девяткой мне видимо приглючилось.