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

3 réponses

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

      attends je cherche...
      0
      1. Modérateur
        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
        1. 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
        2. 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.

          ;-))
          0
        3. 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

          :-)
          0
        4. Modérateur
          @asevereLe scale tu pouvais t'en passer non JP?
          NAN !!! J'veux pô ! Na !
          ;-DDD
          0
        5. 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 :(
          0