Le 17/12/06, Bernard Siaud a écrit :
> J'aimerai faire une fonction de calcul qui marche de la manière
> suivante : Code :
>
> # calc (6+4)*10 100
$ echo $(( (6+4)*10 ))
100
$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
(6+4)*10
100
quit
Bon, j'ai bien compris que c'était juste un exercice ;) C'est juste au
cas où. bc est très pratique.
> J'ai fait un programme :
> Code :
>
> #!/bin/bash echo $[ $* ]
>
> 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).
Oui, les parenthèses sont des caractères particuliers. Il faut donc les
protéger.
> Pas grave, j'essaie de faire avec et de générer une fonction. Voici
> mes tests :
> Code :
>
> [EMAIL PROTECTED]/tmp]$ calc() { echo $[ "$*" ] } > ; bash:
> syntax error near unexpected token `;' [EMAIL PROTECTED]/tmp]$
> calc() { echo $[ $* ] } > ; bash: syntax error near unexpected token
> `;' [EMAIL PROTECTED]/tmp]$ calc() { echo \$[ \$* ] } > ; bash:
> syntax error near unexpected token `;'
C'est quoi ces '>' qui traîne au milieu ?
$ calc(){ echo $[ $* ]; }
$ calc "(6+4)*10"
100
$ calc "(6+4) * 10"
100
$ calc "(6 + 4) * 10"
100
ça a l'air de marcher comme ça...
PS: Alt+F2 sait calculer ce genre de petites opérations ;)
--
Christophe
http://ch4tn01r.free.fr/blog
=========================================
Vous souhaitez acquerir votre pack ou des services Mandriva?
Rendez-vous sur "http://store.mandriva.com".
Rejoignez le club Mandriva : http://club.mandriva.com
=========================================