question bash

Le
dave
Bonjour

Je débute sous bash (depuis ce midi).
Dans un petit script :

echo "montant total tirelire : "
read tirelire
programme -p $tirelire

J'aimerai entrer la valeur en euros mais "programme" demande des cents.
Est-il possible de faire quelque chose dans ce genre : ?

programme -p $tirelire*100

de cette amnière j'aurai la possibilité d'indiquer le montant en euro qui
serait automatiquement converti en cents ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
coolix
Le #19402361
dave wrote:

Est-il possible de faire quelque chose dans ce genre : ?

programme -p $tirelire*100



Oui, sauf que bash n'a pas connaissance des opérateurs arithmétiques.
Pour les calculs, on utilise la commande `expr`. De plus, en bash, la
sortie d'une commande peut être utilisée comme valeur avec la syntaxe
suivante: $(commande)

Ce qui, dans ton cas préçis, nous donne:
programme -p $(expr $tirelire * 100)
Nicolas George
Le #19403101
coolix wrote in message
Oui, sauf que bash n'a pas connaissance des opérateurs arithmétiques.



Bien sûr que si : bash implémente au moins le langage shell standard, qui
comporte la notation $(( ... )).
Olivier Miakinen
Le #19404201
Le 24/05/2009 21:19, coolix répondait à dave :

Est-il possible de faire quelque chose dans ce genre : ?

programme -p $tirelire*100



Oui, sauf que bash n'a pas connaissance des opérateurs arithmétiques.
Pour les calculs, on utilise la commande `expr`. De plus, en bash, la
sortie d'une commande peut être utilisée comme valeur avec la syntaxe
suivante: $(commande)

Ce qui, dans ton cas préçis, nous donne:
programme -p $(expr $tirelire * 100)



Cela dit, $tirelire étant un entier, sa multiplication par 100 se fait
tout simplement en concaténant deux 0 :

programme -p "${tirelire}00"

--
Olivier Miakinen
Alain Ketterlin
Le #19406801
Olivier Miakinen
programme -p $tirelire*100






[...]
Ce qui, dans ton cas préçis, nous donne:
programme -p $(expr $tirelire * 100)



Cela dit, $tirelire étant un entier, sa multiplication par 100 se fa it
tout simplement en concaténant deux 0 :

programme -p "${tirelire}00"



Si $tirelire est en hexa (0x...) ou en octal (0...), seule $((t*100))
donnera le bon résultat.

Juste au cas où...

-- Alain.
Publicité
Poster une réponse
Anonyme