Apr
08
2009
Αριθμητικές πράξεις από κονσόλα

Υπάρχουν στιγμές που θέλω να κάνω μία δύσκολη μαθηματική πράξη (π.χ. 4+4) και δεν βρίσκω τον άβακά μου.

Σε κονσόλα το πρόγραμμα που χρησιμοποιώ για να κάνω αριθμητικές πράξεις είναι το bc και με έχει εξυπηρετήσει αρκετές φορές.

π.χ.

ebal@the_machine_that_goes_PING:~\€ echo 4+4 | bc
8

Αλλά τώρα πρόσφατα βρήκα ότι την ίδια δουλειά κάνει και το bash ακόμα κι εάν δεν έχουμε εγκατεστημένο το bc.

π.χ.

ebal@the_machine_that_goes_PING:~\€ echo $((4+4))
8

Note: Για όσους έχουν απορία:

ebal@the_machine_that_goes_PING:~\€ echo $((34523452345245/0))
bash: 34523452345245/0: division by 0 (error token is “0”)

ΠΡΟΣΟΧΗ Το bash ΔΕΝ καταλαβαίνει από δεκαδικούς αριθμούς, μόνο το BC:

echo $((4+0.5))
bash: 4+0.5: syntax error: invalid arithmetic operator (error token is “.5”)

ενώ με bc

echo 4+0.5 | bc
4.5

Εάν θέλουμε δεκαδικό αποτέλεσμα, χρησιμοποιούμε την παράμετρο -l

echo 10/3 | bc -l
3.33333333333333333333

  1. Avatar di keramida keramida

    Thursday, April 9, 2009 - 07:07:42

    Το bc είναι πολύ ωραίο :)

    Εγώ μερικές φορές χρησιμοποιώ και Python, Perl ή Lisp για πράξεις, π.χ.:

    python -c ‘print 2 ** 34′