Script Bash et mois en Anglais

pcsystemd Messages postés 734 Statut Membre -  
dubcek Messages postés 19021 Statut Contributeur -
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

A voir également:

3 réponses

Xavstarblues Messages postés 10585 Statut Contributeur 1 856
 
euh june c'est juin...

sinon essaye ca
MONTH='-1 month'
if MONTH=January
set MOIS=Janvier
If MONTH=February
set MOIS=Fevrier
....
....
....
DATE=`date -d+ "MOIS" '+%B %Y'`

Je en suis pas sur du resultat...

1
pcsystemd Messages postés 734 Statut Membre 23
 
oui effectivement je me suis trompé c'est bien Juin et non Juillet.

Merci je test ta solution.

J'ai mis pour tester cette portion de code dans un fichier dat mais cela ne fonctionne pas j'ai une erreur :

#!/bin/bash
MONTH='-1 month'
if MONTH=January
set MOIS=Janvier
if MONTH=February
set MOIS=Fevrier
DATE=`date -d+ "MOIS" '+%B %Y'`


./dat: line 9: syntax error: unexpected end of file
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
ou créer un tableau
declare -a mois ; mois=(janvier février ...décembre)
et utiliser date +%m qui donne l'indice dans le tableau
0
pcsystemd Messages postés 734 Statut Membre 23
 
Merci dubcek,

mais tu peux préciser un peu s'il te plait j'ai compris pour declare -a mais que veux tu dire par :

"et utiliser date +%m qui donne l'indice dans le tableau"

Merci
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
date +%m donne le mois entre 1 et 12
sachant que l'indice du tableau commence à 0 j'enlève 1 et
si date +%m retourne 7, juillet et je veux juin echo $mois[ 7 -1 -1] affiche juin
évidemment, il faut tester en janvier pour trouver décembre
-1