Our Blog

Арифметические операции в bash

Команды для арифметических операций в bash оказались немного специфичны, точнее не команды, а способ их оформления..

Приведу пример:

#!/bin/bash
a=73
b=22
c=$a+$b
echo $c

По идее должно выдать 95, но выдает 73+22, странно. Выходит арифметическая операция сложения не прошла. Посмотрев в учебник, разобрался. Перед арифметическими операциями надо написать ключевое слово let:

#!/bin/bash
a=73
b=22
let c=$a+$b
echo $c

Выдаст 95. Разобрались. Посмотрим на способности интерпретатора работать с разными типами данных:

#!/bin/bash
a="аа"
b=22
let c=$a+$b
echo $c

Т. е. я пытаюсь прибавить строку к числу. PHP бы попытался привести их к одному типу данных и вывел бы 22, тоже самое делает и bash. Мне это нравится :) Другие Арифметические операции в bash возвращают примерно такой же результат, примеры излишни.
В общем, Арифметические операции в bash стандартны:
+ сложение
— вычитание
* умножение
/ деление
% остаток от деления
** возведение в степень (специфичный оператор, нигде пока такого не встречал)
+= увеличивает значение переменной на заданное число
-= уменьшение значения переменной на заданное число
*= умножить значение переменной на заданное число, результат записать в переменную
/= уменьшение значения переменной в заданное число раз
%= найти остаток от деления значения переменной на заданное число, результат записать в переменную

Comments ( 0 )
    -->