Operacje arytmetyczne

Kiedy zachodzi potrzeba przeprowadzenia jakichś obliczeń można skorzystać z mechanizmu interpretacji wyrażeń arytmetycznych wbudowanego w Basha.

Ostrzeżenie

Obliczenia w Bash dokonywane są TYLKO na liczbach całkowitych, nie ma przeprowadzanej kontroli przepełnienia zmiennych (ang. overflow). Jeżeli problem jaki rozwiązujesz wymaga operacji na liczbach zmiennoprzecinkowych to nie powinieneś rozwiązywac tego problemu w Bashu.

Podpowiedź

Wprawdzie jest możliwość napisania programu działającego na liczbach innych niż całkowite, ale nie jest to wydajne rozwiązanie. Przykłady takich działań są do znalezienia na StackOverflow.

Składnia

$((wyrażenie))

lub

$[wyrażenie]

Przykład:

#!/bin/bash

echo $((8/2))

wynik=$[4*5/2]
echo "$wynik"

Przykład

#!/bin/bash

for pliki_html in `ls *.html` ; do
        numer=$((numer+1))
        echo "$numer. "
        echo $pliki_html
done

Wynikiem działania powyższego skryptu będzie ponumerowana lista wszystkich plików o rozszerzeniu .html, znajdujących się w bieżącym katalogu.

Podpowiedź

Do przeprowadzenia obliczeń można też skorzystać z polecenia let.