Infos sur la commande "expr"
Bonjour !
j'écris un script shell avec l'editeur vi ! mon pb c calculer la racine carrée d'un nombre avec la commande "expr" ! eske c possible ou bien existe t-il une autre commande qui le fait !
Merci de me répondre
j'écris un script shell avec l'editeur vi ! mon pb c calculer la racine carrée d'un nombre avec la commande "expr" ! eske c possible ou bien existe t-il une autre commande qui le fait !
Merci de me répondre
3 réponses
-
et bien tu peux toujours faire expr n \* n ....
-
oups désolé j avais pas vu ke c etait la racine que tu voulais
attends je cherche... -
ModérateurSalut,
Essaie de voir du côté de la commande "bc" (man bc) et de sa fonction "sqrt" (qui renvoie la racine carrée)...
Un exemple :[jp@Mandrake tmpfs]$ cat calcul.sh #! /bin/bash # calcul.sh # script d'essai de "bc" echo "Entrez un entier positif :" read entier resultat=`bc -l << EOF scale = 0 sqrt($entier) EOF` echo "La racine carrée de "$entier "est :" $resultat [jp@Mandrake tmpfs]$ sh calcul.sh Entrez un entier positif : 16 La racine carrée de 16 est : 4 [jp@Mandrake tmpfs]$
;-))-
-
Modérateur@chryscrakDe rien ;-)) heureux pour toi.
Alors "EOF" (End Of File) : la commande s'exécute jusqu'à ce qu'elle rencontre le terme "EOF".
Pour "scale=0", un petit "man bc" t'aurait donné :
scale ( expression )
La valeur de la fonction scale est le nombre de chiffres après
le point décimal dans l'expression.
;-)) -
Webmaster@chryscrakLe scale tu pouvais t'en passer non JP?
Chez moi,
$ echo "sqrt(8)" | bc
2
$ echo "sqrt(8)" | bc -l
2.82842712474619009760
$ echo "scale=2; sqrt(8)" | bc -l
2.82
:-) -
-
Webmaster@asevereHa ben dans ce cas alors :)
Arf, je viens de me rendre compte que tu avait mis "bc -l"
J'avais lu -1, ça m'avait pas choqué plus que ça :(
-