|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Bonjour
Je teste un peu le bash... J'aimerai faire une fonction de calcul qui marche de la manière suivante :J'ai fait un programme :Le problème est que je dois mettre entre guillemets le paramètre si j'ai des parenthèses ! (le $* pour permettre de mettre des espaces dans l'opération). Pas grave, j'essaie de faire avec et de générer une fonction. Voici mes tests : Code :
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
Salut,
J'espère que quelqu'un aura une réponse. Comme la parenthèse est un caractère spécial (métacaractère), un moyen de la traiter consiste à la précéder d'un slash: Par contre Fonctionne également, si l' expression est entre guillemets: Ca pourrait expliquer pourquoi je n' ai jamais vu d'évaluateur d' expression arithmétique écrit en shell (mais espère encore!). Il faudrait écrire le prog en C. Peut-être que Perl ou Python pourraient accepter l' expression. |
|
|
00
|
|
|
#3 |
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Il existe bc comme évaluateur, mais on rentre dans son shell spécial calculette.
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() |
Si lire sur stdin est envisageable, alors le shell devrait pouvoir. Mais passer l' expression en argument me semble délicat. C'est un job pour lequel le C excelle. Là il y a pléthore de codes d'évaluateurs d'expressions (arbres binaires, listes chaînées). Vu comment le shell fonctionne, la parenthèse pose problème.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com