Probleme sqrt en bash

guillermo -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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.






A voir également:

2 réponses

KarCAroum Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91
 
bonsoir,
bc -l <<<"sqrt($a)"
rac=$(bc -l <<<"sqrt($a)") (corrigé)
2
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
KarCAroum Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91
 
certes mais l'essentiel est bc -l <<<"sqrt($a)"
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Certes oui, mais mais la remarque était juste dans l'intérêt de notre ami guillermo ;-))
1
KarCAroum Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91
 
elle est tout a fait justifiée
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

@zipe31

Ca me rappelle un message ;-)
0
guillermo
 
Merci beaucoup, ca marche. Mais je voudrais comprendre pourquoi on doit mettre : "bc -l".
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

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