Введение в Unix

         

Выполнение арифметических операций 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 осуществляет подсчет числа строк в файле, а далее это число используется в выражениях.



Содержание раздела