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
=========================================

Répondre à