C'est simple et efficace :

M=`date +%m`
echo $M
M2=`expr $M - 1`
echo $M2

M2 renvoi le mois m-1 mais cadré à gauche..

Attention en Janv.

A+

Pour me Répondre :
Mr Philippe LORIMIER  (E-Mail: [EMAIL PROTECTED])


        -----Message d'origine-----
        De:     Jerome ALET [SMTP:[EMAIL PROTECTED]
        Date:   mercredi 8 septembre 1999 15:44
        À:      [email protected]
        Objet:  on demande un expert bash ...


        Soit la ligne suivante extraite d'un script shell dont je me
sert entre
        autres pour faire tourner les archives des listes de diffusion,
dont la
        notre, le premier de chaque mois.

        MOISPREC=$[`/bin/date +%m` - 1]

        A partir du mois d'Aout (bash interprete la sortie de la
commande "date"
        en octal, le mois d'Aout donne donc 08), le script ne fonctionne
plus et
        renvoie l'erreur:

        bash: 09: value too great for base (remainder of expression is
"09")

        ce qui semble bien correspondre a un probleme de base lors du
calcul.

        quelqu'un a t'il une solution a ce probleme de calcul du numero
du mois
        precedent ???

        en d'autres termes comment forcer bash a calculer en base 10, et
pas 8,
        meme si le nombre commence par 0 ?

        merci d'avance.

        Jerome ALET - [EMAIL PROTECTED] - http://cortex.unice.fr/~jerome
        Faculte de Medecine de Nice - http://noe.unice.fr - Tel: 04 93
37 76 30 
        28 Avenue de Valombrose - 06107 NICE Cedex 2 - FRANCE

Répondre à