Команды для арифметических операций в 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 )