Coucou!
un "friend of mine" avait besoin d'un petit outil pour faire des conversions monnaies
zone euro -> euro et euro -> monnaies zone euro plus livre sterling, $ US et $
Canadien vers euro et inversemment. j'ai donc commis ce qui suit. ce script utilise bc
qui est un langage arithm�tique permettant l'inclusion de calculs en virgule
flottante dans des shells scripts. si �a peut aussi int�resser quelqu'un....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
#euro
#euro convertisseur
if [ -f $HOME/.eurorc ]
then
source $HOME/.eurorc
fi
cmd1 ()
{
calcul=$(echo "scale=6; ( $MI*$E )" | bc)
echo $calcul $C
}
cmd2 ()
{
calcul=$(echo "scale=6; ( $MI/$E )" | bc)
echo $calcul $C
}
cmd3 ()
{
echo -n " donner la valeur actuelle de $C pour $PAYS. 1 EUR="
read E
E=$(echo $E | awk '{ print $1}')
}
while true
do
commande=1
echo -n \>
read line
PAYS=$( echo $line | awk '{ print $1}')
MONNAIE=$( echo $line | awk '{ print $3}')
MI=$( echo $line | awk '{ print $2}')
case $PAYS in
be)
E=40.3399
C=FRB
;;
de)
E=1.95583
C=DEM
;;
gr)
E=340.750
C=GRD
;;
es)
E=166.386
C=ESP
;;
fr)
E=6.55957
C=FRF
;;
ir)
E=0.787564
C=IEP
;;
it)
E=1936.27
C=ITL
;;
lu)
E=40.3399
C=LUF
;;
nl)
E=2.20371
C=NLG
;;
au)
E=13.7603
C=ATS
;;
pt)
E=200.482
C=PTE
;;
fi)
E=5.94573
C=FIM
;;
gb|us|ca)
case $PAYS in
gb)
C=LSG
if ! [ "$GB" ]
then
cmd3
GB=$E
fi
E=$GB
;;
us)
C=USD
if ! [ "$US" ]
then
cmd3
US=$E
fi
E=$US
;;
ca)
C=CAD
if ! [ "$CA" ]
then
cmd3
CA=$E
fi
E=$CA
;;
esac
;;
help)
echo -e "\t"pays: "\t\t"code pays: "\t"code monnaie:
echo -e "\t"~~~~~ "\t\t"~~~~~~~~~~ "\t"~~~~~~~~~~~~~
echo
echo -e "\t"Belgique "\t"be "\t\t"FRB
echo -e "\t"Allemagne "\t"de "\t\t"DEM
echo -e "\t"Gr�ce "\t\t"gr "\t\t"GRD
echo -e "\t"Espagne "\t"es "\t\t"ESP
echo -e "\t"France "\t\t"fr "\t\t"FRF
echo -e "\t"Irlande "\t"ir "\t\t"IEP
echo -e "\t"Italie "\t\t"it "\t\t"ITL
echo -e "\t"Luxembourg "\t"lu "\t\t"LUF
echo -e "\t"Pays-Bas "\t"nl "\t\t"NLG
echo -e "\t"Autriche "\t"au "\t\t"ATS
echo -e "\t"Portugal "\t"pt "\t\t"PTE
echo -e "\t"Finlande "\t"fi "\t\t"FIM
echo -e "\t"Etats-unis "\t"us "\t\t"USD
echo -e "\t"Royaume Uni "\t"gb "\t\t"LSG
echo -e "\t"Canada "\t\t"ca "\t\t"CAD
echo
echo " usage: <code pays> <montant> <code monnaie>"
echo " pour une conversion d'une somme en Euro dans la monnaie"
echo " du pays, le code monnaie est EUR"
echo " exemples:"
echo " convertir 898.25 Francs Fran�ais en Euro"
echo " >fr 898.25 FRF"
echo " 136.937329 EUR"
echo " convertir 932.58 Euro en Lires Italiennes"
echo " >it 932.58 EUR"
echo " 1805726.6766 ITL"
echo
MONNAIE=false
;;
exit)
break
;;
*)
MONNAIE=false
echo " Tapez help pour l'aide"
;;
esac
case $MONNAIE in
$C)
CMD=cmd2
C=EUR
;;
EUR)
CMD=cmd1
;;
false)
commande=0
;;
*)
echo " monnaie (3�me champ) non ou mal indiqu�e! tapez help pour
l'aide"
commande=0
;;
esac
case $commande in
1)
$CMD 2>/dev/null
;;
esac
done
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bye
jipe
PS: le fichier $HOME/.eurorc sert � fixer un cours approximatif moyen aux monnaies
dollars et livre sterling au cas o� on n'ait pas besoin d'un cours au jour le jour. on
l'�dite � la main... le 10/05 il pouvait ressembler �:
CA=1.423900
US=0.913987
GB=0.624298
re bye
re jipe!
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com"