Probleme sqrt en bash

Fermé
guillermo - 30 déc. 2010 à 19:27
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 30 déc. 2010 à 20:38
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

KarCAroum Messages postés 274 Date d'inscription mardi 23 novembre 2010 Statut Membre Dernière intervention 23 avril 2011 90
Modifié par KarCAroum le 30/12/2010 à 20:15
bonsoir,
bc -l <<<"sqrt($a)"
rac=$(bc -l <<<"sqrt($a)") (corrigé)
2
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 déc. 2010 à 20:11
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 mardi 23 novembre 2010 Statut Membre Dernière intervention 23 avril 2011 90
30 déc. 2010 à 20:13
certes mais l'essentiel est bc -l <<<"sqrt($a)"
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 déc. 2010 à 20:15
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 mardi 23 novembre 2010 Statut Membre Dernière intervention 23 avril 2011 90
30 déc. 2010 à 20:15
elle est tout a fait justifiée
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 déc. 2010 à 20:19
Salut,

@zipe31

Ca me rappelle un message ;-)
0
Merci beaucoup, ca marche. Mais je voudrais comprendre pourquoi on doit mettre : "bc -l".
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 déc. 2010 à 20:38
Re,

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