Script Bash et mois en Anglais

Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 1 juil. 2008 à 13:04
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 1 juil. 2008 à 15:12
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 10019 Date d'inscription mercredi 22 août 2007 Statut Contributeur Dernière intervention 28 décembre 2019 1 851
1 juil. 2008 à 13:10
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 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
1 juil. 2008 à 13:38
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 juil. 2008 à 14:16
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 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
1 juil. 2008 à 14:47
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 juil. 2008 à 15:12
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