Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Арифметическое расширение

Оболочка позволяет выполнять арифметические операции путем расширения. Это позволяет нам использовать приглашение оболочки в качестве калькулятора:



[я @ linuxbox ~] $ эхо $ ((2 + 2))

4

[я @ linuxbox ~] $ эхо $ ((2 + 2))

4


Арифметическое раскрытие использует форму:

$ ((выражение))

в котором выражение представляет собой арифметическое выражение, состоящее из значений и арифметических операторов.

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


Таблица 7-1: Арифметические операторы

Operaвr Description

+ Дополнение


изображение

- вычитание


изображение

* Умножение


изображение

/ Деление (но помните, поскольку раскрытие поддерживает только целочисленную арифметику, результаты являются целыми числами).


изображение

% Modulo, что просто означает «остаток».


изображение

** Возведение


изображение


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



[я @ linuxbox ~] $ эхо $ (($ ((5 ** 2)) * 3))

75

[я @ linuxbox ~] $ эхо $ (($ ((5 ** 2)) * 3))

75


Одиночные круглые скобки могут использоваться для группировки нескольких подвыражений. Используя эту технику, мы можем переписать приведенный выше пример и получить тот же результат, используя одно расширение вместо двух:



[я @ linuxbox ~] $ эхо $ (((5 ** 2) * 3))

75

[я @ linuxbox ~] $ эхо $ (((5 ** 2) * 3))

75


Вот пример использования операторов деления и остатка. Обратите внимание на эффект целого деления:



[я @ linuxbox ~] $ echo Пять разделить на два равно $ ((5/2))

Пять делить на два равно 2

[я @ linuxbox ~] $ echo с оставшимся символом $ ((5% 2)).

осталось 1.

[я @ linuxbox ~] $ echo Пять разделить на два равно $ ((5/2))

Пять делить на два равно 2

[я @ linuxbox ~] $ echo с оставшимся символом $ ((5% 2)).

осталось 1.


Более подробно арифметическое расширение рассматривается в главе 34.


Лучшие облачные вычисления для ОС в OnWorks: