Выполнение арифметических операций expr
Команда expr вычисляет значение выражения, поданного в качестве аргумента и посылает результат на стандартный вывод. Наиболее интересным применением является выполнение операций над переменными языка Shell.
Пример суммирования 3 чисел:
$ cat sum3 expr $1 + $2 + $3 $ chmod 755 sum3 $ sum3 13 49 2 64 $
Пример непосредственного использования команды:
$ expr 13 + 49 + 2 + 64 + 1 129 $
В expr можно применять следующие арифметические операторы: +, -, *, /, % (остаток). Все операнды и операции должны быть разделены пробелами.
Заметим, что знак умножения следует заключать в кавычки (одинарные или двойные), например: '*', так как символ * имеет в Shell специальный смысл.
Более сложный пример expr в процедуре (фрагмент):
num = 'wc -l < $1' tot = 100 count = $num avint = 'expr $tot / $num' avdec = 'expr $tot % $num' while test $count -gt 0 do ...
Здесь wc -l осуществляет подсчет числа строк в файле, а далее это число используется в выражениях.