[ILUG] Bash script misbehaving
john.allen at dublinux.net
Fri Aug 8 13:42:02 IST 2008
Kieran Tully wrote:
> On 2008-08-08, Proinnsias Breathnach <proinnsias at project-bob.org> wrote:
>> However, what is line 37 doing / trying to do? - as you say, it sounds
>> like it's trying to parse it as octal. (based on the error message)
> Yes, it would be useful to see line 37!
> I ran into this exact issue in a bash script where
> printf %0.2d $MONTH
> was being used to pad single digit months with leading zeroes.
> As $MONTH was already padded it was interpreted as octal.
# strip any leading 0's before formatting
printf "%0.2d\n" "`echo $MONTH | sed 's|^\+||g'`"
> The solution was to use month in a string context, i.e.
> printf %s $MONTH
> (obviously the printf was doing more than this, or we could have used echo).
More information about the ILUG