Для вычисления выражений в shell можно использовать команду expr. Её можно применять как в командной строке, так и в скриптах. Далее рассмотрим несколько примеров использования команды expr.
Сложение
expr 6 + 4 10
Обратите внимание на обязательные пробелы, разделяющие значения и операторы. Без пробелов мы получи следующее:
expr 6+4 6+4
При использовании * (для умножения), нужно экранировать ее обратным слэшем:
expr 10 \* 10 100
Переменные
Использование переменных в вычислениях с использованием команды expr, так же допустимо:
var1=2 var1=`expr $var1 \* 2` echo $var1 4
Тригонометрия в консоли
Пример вычисления косинуса в консоли:
var1=`echo "c(0.5)" | bc -l` echo $var1 0.87758256189037271611628158260383
Работа со строками в консоли
Получение подстроки
expr substr «Большая строка» 9 6
строка
Вычисление длинны строки
fstr="Большая строка" expr length $fstr 14
Регулярные выражения
Простой пример регулярных выражений в консоли
expr "a3" : [a-z][1-9] 2
Приложим немного фантазии:
myexpr="[a-z][1-9]" expr "a3" : $myexpr 2
Конечно, это не самый лучший способ поиска пятницы, зато полностью рабочий:
date Fri Dec 31 16:44:47 EST 2004 date | xargs -i expr {} : "[Fri]" 1