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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.