[RESOLU] Script Bash et mois en Anglais

Bonjour,

dans un script BASH j’ai une variable définie de cette forme :

DATE=date -d '-1 month' '+%B %Y'

le souci c’est que une fois mon script executé, j’ai ce résultat :
1er June 2008

le mois est en Anglais. Je le voudrais en Français.

Ne pouvant pas toucher a l’environnement de la machine ou mon script s’execute je souhaiterais savoir comment faire un tableau de correspondance dans mon script du style :

June = Juillet
April = Avril
etc…

afin que j’ai ce resultat :

1er Juillet 2008

Merci

Salut,

Que te donne le résultat de locale ?

voici le resultat de
locale

[quote]LANG=POSIX
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
[/quote]

Pour que ça fonctionne tu devrais avoir

LANG=fr_FR.UTF-8 LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=

Merci. Je sais que les Locales ne sont pas configurer pour le Français mais comment j’ai précisé ce sont des machines en prod et je ne peux pas modifier l’environnement et la configuration.

Merci

Hum ben soit tu t’en accommode soit tu modifie dans ton script les jours et les mois anglais vers le français. :confused:

A moins qu’il y aille autre chose, mais moi je vois pas.

.

Tu exécute ton script en affectant ta local avant:

francois@bling:~$ LC_ALL=C date Tue Jul 1 18:47:46 CEST 2008 francois@bling:~$ LC_ALL=fr_FR date mardi 1 juillet 2008, 18:47:56 (UTC+0200)

Fais DATE=`LC_ALL=fr_FR date -d '-1 month' '+%B %Y'`

Merci a tous c’est résolu. Vous deux solutions fonctionnent.

Merci encore