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

--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Configuration: Linux Debian
Mozilla 1.8.1.14

3 réponses

  1. Contributeur
    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. Contributeur
      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
      1. 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
    2. Contributeur
      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. 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