Probleme sqrt en bash

Bonjour,
en ce moment, je fait un programme en bash et j'ai besoin de calculer une racine carrée.
Pour cela, j'utilise la commande sqrt:
pour calculer la racine carrée de la variable "$a" et la mettre dans la variable "$rac", je fais donc : $rac = sqrt($a)

Mais lorsque j'execute le script j'obtiens le message suivant :
./essai2.sh: line 14: Erreur de syntaxe près du symbole inattendu « ( »
./essai2.sh: line 14: '$rac = sqrt($a)'

Merci d'avance.

2 réponses

  1. bonsoir,
    bc -l <<<"sqrt($a)"
    rac=$(bc -l <<<"sqrt($a)") (corrigé)
    2
    1. Contributeur
      Salut,

      Une variable en bash se déclare sans le signe "$" (dollar) et sans espace ni avant ni après le signe "=" (égal) ;-((

      rac=$(bc -l <<<"sqrt($a)")
      0
    2. certes mais l'essentiel est bc -l <<<"sqrt($a)"
      0
    3. Contributeur
      Certes oui, mais mais la remarque était juste dans l'intérêt de notre ami guillermo ;-))
      1
    4. elle est tout a fait justifiée
      0
    5. Modérateur
      Salut,

      @zipe31

      Ca me rappelle un message ;-)
      0
  2. Merci beaucoup, ca marche. Mais je voudrais comprendre pourquoi on doit mettre : "bc -l".
    0
    1. Modérateur
      Re,

      Essai sans -l et tu verras
      Regarde man bc aussi
      0