Linux bash - Wykonywanie operacji arytmetycznych (liczby całkowite i rzeczywiste)
Kilka słów na temat wykonywania obliczeń w skryptach Bash.
Jak wykonać najprostsze operacje arytmetyczne?
Przy okazji niemal każdego artykułu na temat Basha wspominam, że jest on pełen zaułków, w których często nie łatwo się odnaleźć. Podobnie ma się sprawa dotycząca wykonywania obliczeń matematycznych w skryptach. Przede wszystkich do operacji arytmetycznych przeznaczona jest osobna składnia:2+2
$ echo $((2+2))
4
Spróbujmy jednak wykonać operację dzielenia, bo ta pokaże nam bardzo ważną własność obliczeń w Bashu:
2
$ echo $((10/6))
1
Są to najbardziej istotne i najczęściej spotykane informacje jakie należy posiadać na temat obliczeń w Bashu. Spróbujmy jednak zmusić skrypty do pracy z liczbami rzeczywistymi.
Jak wykonywać obliczenia na liczbach rzeczywistych?
Bash sam z siebie potrafi pracować tylko na liczbach całkowitych, natomiast ma również możliwość wykonywania programów zewnętrznych i z tego skorzystamy przy tak postawionym problemie. Po prostu, chcąc wykonać operacje arytmetyczne na liczbach ułamkowych, wywołamy kalkulator działający w wierszu poleceń, na przykład bc. Spójrzmy więc na sposób przekazywania do niego formuł matematycznych:4
$ echo $(echo "10/6" | bc -l)
1.66666666666666666666
Jak widzimy, łączymy strumień wyjściowy polecenia echo i wejściowy naszego kalkulatora. Tym sposobem obchodzimy wrodzoną niemożność Basha i spokojnie możemy wykonywać obliczenia na liczbach ułamkowych.

Komentarze (4)