Une alternative à "bc" ?

Une alternative à "bc" ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-11-2013 à 13:49:35    

Bonjour à tous !  
 
Pour faire simple, voici ma petite interrogation : je viens d'installer "msysGIT" histoire de pouvoir profiter d'une console "type linux" sous Windows et j'en suis plutôt très content ! Seule ombre au tableau : la commande "bc" n'est pas présente dans le commandes disponibles. Deux solutions doivent être possibles :
 
1) Installer cette commande, j'ai tenté, mais je dois pas être assez doué (^^')
2) Existe-t-il une commande alternative à "bc" afin de faire des calculs en bash ? Il y a bien "expr", mais on est limité à des nombres entiers..
 
Merci beaucoup d'avance ! Bon lundi ! :)
 
 
Adri

Reply

Marsh Posté le 11-11-2013 à 13:49:35   

Reply

Marsh Posté le 11-11-2013 à 16:19:27    

Si tu as Perl installé :
 
$ perl -e 'print 0.5*3'


---------------
http://agentoss.wordpress.com/
Reply

Marsh Posté le 11-11-2013 à 18:05:19    

Ah oui bien vu ! ça dépanne :)
Merci !

Reply

Marsh Posté le 11-11-2013 à 19:08:30    

Sinon je t'aurais bien dit de voir du côté de cygwin, mais je ne connais pas les limites de bc par rapport à ça :/


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 12-11-2013 à 17:51:22    

En bash :

 
Code :
  1. echo $(( 0.5*3 ))
 

Je pense que ca doit marcher tout pareil non ? En ce qui me concerne, il est très rare que j'utilise bc, (que pour les fonctions mathématiques en fait).

Message cité 1 fois
Message édité par Nukolau le 12-11-2013 à 17:52:09
Reply

Marsh Posté le 12-11-2013 à 20:18:42    

+1 pour $((a+b))


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 12-11-2013 à 22:26:42    

Nukolau a écrit :

En bash :
 

Code :
  1. echo $(( 0.5*3 ))


 
Je pense que ca doit marcher tout pareil non ? En ce qui me concerne, il est très rare que j'utilise bc, (que pour les fonctions mathématiques en fait).


 
marche pas  :non:  
Le Shell ne prend que les nombres entiers.


---------------
http://agentoss.wordpress.com/
Reply

Marsh Posté le 13-11-2013 à 00:25:00    

Fais attention, bc utilise l'arithmétique multiprécision.  Si tu as besoin de ça tu devrais faire un script perl qui utilise "bigint" pour faire le calcul.
 

Code :
  1. $ echo "156^20"|bc
  2. 72860469778051551944566566138306029709950976
  3. $ perl -e 'use feature qw(say); say 156**20;'
  4. 7.28604697780516e+43
  5. $ perl -e 'use bigint;use feature qw(say); say 156**20;'
  6. 72860469778051551944566566138306029709950976


Message édité par borbus le 13-11-2013 à 00:33:52

---------------
La blanquette est bonne.
Reply

Marsh Posté le 15-11-2013 à 16:39:59    

agentsteel a écrit :

 

marche pas  :non:
Le Shell ne prend que les nombres entiers.

 

Beuh chez moi ca marche (note que je lance depuis un ksh) :

 
Code :
  1. $> bash -c "echo $(( 0.5 * 3))"
  2. 1.5



Message édité par Nukolau le 15-11-2013 à 16:40:31
Reply

Marsh Posté le 15-11-2013 à 18:12:31    

Bizarre, sur ma Debian Wheezy (Bash 4.2.x) ça ne fonctionne pas. Peut-être une option à bidouiller...


---------------
http://agentoss.wordpress.com/
Reply

Marsh Posté le 15-11-2013 à 18:12:31   

Reply

Marsh Posté le 17-11-2013 à 18:51:49    

zsh, superior


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed