Re: script fejler efter indgang i november

From: Martin Kjeldsen (none@martin--martinkjeldsen.dk.lh.bsd-dk.dk)
Date: Mon 03 Nov 2008 - 10:18:05 CET


Date: Mon, 3 Nov 2008 10:18:05 +0100
From: Martin Kjeldsen <none@martin--martinkjeldsen.dk.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: script fejler efter indgang i november

Ebbe Hjorth (09:35 2008-11-03):
> Hej,
>
> Jeg har et script der finder den sidste dag i måneden, da jeg har nogle
> ting jeg gerne vil ha tjekket der, men efter vi er tråd ind i november
> måned, så fejler det pludselig.
>
> Det er date -v-1d -jf%Y-%m-%d der fejler, men kan ik gennemskue hvorfor og
> hvad det har med november måned at gøre.
>
> MONTH=`date "+%m"`
> EBBE=`date -v-1d -jf%Y-%m-%d $(date +%Y-$((($MONTH+1)%12))-01) +%d`
> DATO=`date "+%d"`
> if [ $DATO = $EBBE ]; then
> maanedok
> fi

Dit problem skyldes at november (11) + 1%12 giver 0, dvs date +%Y-0-01, hvilket
fejler som input til din date.

Jeg er langt fra ekspert i date, men tilsyneladende ville
EBBE=`date -v1d -v+1m -v-1d '+%d'`

give det rigtige resultat, uden problemer med modulus.

---
Martin



This archive was generated by hypermail 2b30 : Sun 30 Nov 2008 - 23:00:02 CET