[ILUG] Bash script misbehaving
Walter Faleiro
curtorkar at gmail.com
Fri Aug 8 07:04:13 IST 2008
All,
We have a script to cleanup filesystem.
It contains the following lines in the code
#!/bin/bash
DAYSPERMONTH=("31" "29" "31" "30" "31" "30" "31" "31" "30" "31" "30" "31" )
CDSTAMP=`date '+%Y%m%d'`
bash-3.00# date '+%Y%m%d'
20080807
CURRENTYEAR=`echo $CDSTAMP | awk '{print substr($1,1,4)}'`
bash-3.00# echo $CDSTAMP | awk '{print substr($1,1,4)}'
2008
CURRENTDAY=`echo $CDSTAMP | awk '{print substr($1,7,2)}'`
bash-3.00# echo $CDSTAMP | awk '{print substr($1,7,2)}'
07
CURRENTMONTH=`echo $CDSTAMP | awk '{print substr($1,5,2)}'`
bash-3.00# echo $CDSTAMP | awk '{print substr($1,5,2)}'
08
Come August the error is
line 37: 08: value too great for base (error token is "08")
I think the error is because of the month thats listed as 08 which might be
confusing the shell as if its an octal number.
Any remedy here, changing the way the script is used will mean fixing 10TB
of data naming convention :)
Thanks,
--Walter
More information about the ILUG
mailing list