Infos sur la commande "expr"

Fermé
chryscrak Messages postés 39 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 15 avril 2007 - 4 avril 2005 à 18:49
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 avril 2005 à 23:16
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

3 réponses

et bien tu peux toujours faire expr n \* n ....
0
oups désolé j avais pas vu ke c etait la racine que tu voulais

attends je cherche...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
4 avril 2005 à 20:44
Salut,

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]$
;-))
0
chryscrak Messages postés 39 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 15 avril 2007 1
6 avril 2005 à 18:44
Thanks jipicy c marche ! mais je n'ai pas compris le rôle du "EOF" et du "scale = 0" ! merci de m'expliciter

:-) ; always learning ........ le monde est pr les téméraires
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > chryscrak Messages postés 39 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 15 avril 2007
6 avril 2005 à 20:37
De 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.

;-))
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426 > chryscrak Messages postés 39 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 15 avril 2007
6 avril 2005 à 21:24
Le 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

:-)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022
6 avril 2005 à 22:54
Le scale tu pouvais t'en passer non JP?
NAN !!! J'veux pô ! Na !
;-DDD
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426 > asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022
6 avril 2005 à 23:00
Ha 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 :(
0