6.1. Wykonywanie działań arytmetycznych w skrypcie powłoki

Problem

Podczas wykonywania kodu skryptu muszą zostać zrealizowane pewne nieskomplikowane operacje arytmetyczne.

Rozwiązanie

Do wyznaczania wartości wyrażenia arytmetycznego (bazującego na liczbach całkowitych) wykorzystuje się zapis $(( )) lub instrukcję let.

COUNT=$((COUNT + 5 + MAX * 2))
let COUNT+=5+MAX*2

Analiza

Jeśli definiowane przez programistę działania są operacjami na liczbach całkowitych, można wykorzystywać wszystkie standardowe operatory (właściwe dla języka C), zapisując je wewnątrz konstrukcji $(( )). Powłoka bash udostępnia jeden dodatkowy operator ** — odpowiada ona za podnoszenie liczby do określonej potęgi (np. wykonanie instrukcji MAX=$((2**8)) powoduje przypisanie zmiennej ...

Get Bash. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.