Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Арифметичне розширення

Оболонка дозволяє виконувати арифметику шляхом розширення. Це дозволяє нам використовувати підказку оболонки як калькулятор:



[me@linuxbox ~]$ echo $((2 + 2))

4

[me@linuxbox ~]$ echo $((2 + 2))

4


Арифметичне розширення використовує форму:

$((вираз))

де вираз це арифметичний вираз, що складається із значень та арифметичних операторів.

Арифметичне розширення підтримує лише цілі числа (цілі числа, без десяткових), але може виконувати досить багато різних операцій. Ось кілька підтримуваних операторів:


Таблиця 7-1: Арифметичні оператори

Operaдоr Description

+ Доповнення


зображення

- Віднімання


зображення

* Множення


зображення

/ Ділення (але пам’ятайте, оскільки розширення підтримує лише цілу арифметику, результати є цілими числами).


зображення

% Modulo, що просто означає «залишок».


зображення

** Експоненція


зображення


Пробіли в арифметичних виразах не мають значення, і вирази можуть бути вкладеними. Наприклад, щоб помножити 5 у квадраті на 3:



[me@linuxbox ~]$ echo $(($((5**2)) * 3))

75

[me@linuxbox ~]$ echo $(($((5**2)) * 3))

75


Для групування кількох підвиразів можна використовувати одинарні дужки. За допомогою цієї техніки ми можемо переписати наведений вище приклад і отримати той самий результат, використовуючи одне розширення замість двох:



[me@linuxbox ~]$ echo $(((5**2) * 3))

75

[me@linuxbox ~]$ echo $(((5**2) * 3))

75


Ось приклад використання операторів поділу та залишку. Зверніть увагу на ефект цілого поділу:



[me@linuxbox ~]$ echo П'ять поділено на два дорівнює $((5/2))

П'ять поділено на два дорівнює 2

[me@linuxbox ~]$ echo з $((5%2)), що залишилося.

з 1 залишився.

[me@linuxbox ~]$ echo П'ять поділено на два дорівнює $((5/2))

П'ять поділено на два дорівнює 2

[me@linuxbox ~]$ echo з $((5%2)), що залишилося.

з 1 залишився.


Більш детально арифметичне розширення розглянуто в розділі 34.


Найпопулярніші хмарні обчислення ОС на OnWorks: