Division bash
arkard
Messages postés
19
Statut
Membre
-
stevec -
stevec -
Bonjour,
Je suis une quiche en scripting, mais quand il faut, on n'a pas le choix.
J'essaie vainement de faire une division sous bash.
Mon script fait 2 requetes SQL que je stocke en variable et je veux faire un ratio de ces 2 variables, le multiplier par 100, le retrancher de 100 et l'arrondir à l'entier supérieur.
J'essaie d'abord de faire la division en faisant un bête RES=($1/$2), comme j'ai vu sur différents forums mais ça m'affiche par exemple 5/9, ça ne fait donc pas la division, ça m'affiche le résultat des 2 requetes (qui elles fonctionnent bien d'ailleurs).
Help please !
Je suis une quiche en scripting, mais quand il faut, on n'a pas le choix.
J'essaie vainement de faire une division sous bash.
Mon script fait 2 requetes SQL que je stocke en variable et je veux faire un ratio de ces 2 variables, le multiplier par 100, le retrancher de 100 et l'arrondir à l'entier supérieur.
J'essaie d'abord de faire la division en faisant un bête RES=($1/$2), comme j'ai vu sur différents forums mais ça m'affiche par exemple 5/9, ça ne fait donc pas la division, ça m'affiche le résultat des 2 requetes (qui elles fonctionnent bien d'ailleurs).
Help please !
A voir également:
- Division en bash
- Bingo bash free - Télécharger - Divers Jeux
- Diviser une photo en 3 instagram - Guide
- Microsoft skype division - Télécharger - Téléphonie & Visio
- A4 divisé en 4 - Forum Graphisme
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
4 réponses
pour passer en mode mathématique, il faut deux parenthèses normalement.
(( res = $1/$2 ))
mais attention, bash travail sur des entiers, donc il vaut mieux faire res=(100*$1)/$2
(( res = $1/$2 ))
mais attention, bash travail sur des entiers, donc il vaut mieux faire res=(100*$1)/$2
exec bash
a=18
b=2
(( res=$a/$b ))
echo $res
Ca ça marche.
Dans mon script j'ai mis (( res=$a/$b )) et j'ai mis le echo $res derriere et maintenant il me dit 0
a=18
b=2
(( res=$a/$b ))
echo $res
Ca ça marche.
Dans mon script j'ai mis (( res=$a/$b )) et j'ai mis le echo $res derriere et maintenant il me dit 0
Avec ça j'ai le droit à un syntax error: invalid arithmetic operator (error token is ""scale=4 ; 5/11" | bc")