|
СИНТАКСИС |
|||||||||||||||||||||||||||||
expr ВЫРАЖЕНИЕ или: expr КЛЮЧ | |||||||||||||||||||||||||||||
ОПИСАНИЕ |
|||||||||||||||||||||||||||||
Команда expr вычисляет выражение, являющееся ее параметром. Результат записывается в стандартный вывод. Операнды выражения должны быть разделены пробелами. Символы, имеющие для shell'а специальный смысл, должны быть экранированы. Аргументы, содержащие пробелы или другие специальные символы, должны быть заключены в кавычки. |
ОПЦИИ |
--help показать эту справку и выйти --version показать информацию о версии и выйти |
Выражения команды expr могут включать в себя следующие операции (в порядке увеличения приоритета): | |
выражение \| выражение | |
Если первое выражение не пустое и не нулевое, то оно служит результатом; в противном случае - второе выражение. | |
выражение \& выражение | |
Если оба выражения не пустые и не нулевые, то результатом служит первое выражение; в противном случае - 0. | |
выражение { =, \>, \>=, \<, \<=, != } выражение | |
Если оба выражения - целые, они сравниваются как числа; в противном случае - как цепочки символов. Если условие истинно, результатом служит 1; в противном случае - 0. | |
выражение { +, - } выражение | |
Сложение и вычитание целочисленных аргументов. | |
выражение { \*, /, % } выражение | |
Умножение, деление и получение остатка от деления целочисленных аргументов. | |
выражение : выражение | |
Оператор сопоставления : сопоставляет первый аргумент со вторым, который должен быть регулярным выражением. Синтаксис регулярного выражения тот же, что и в редакторе ed, за исключением того, что все шаблоны трактуются как "закрепленные" и символ ^ не имеет специального значения. Обычно оператор сопоставления возвращает число успешно сопоставленных символов (0 при неудаче). Можно применять конструкцию \( ... \), чтобы выделить часть первого аргумента. |
match СТРОКА REGEXP то же, что и СТРОКА : REGEXP substr СТРОКА ПОЗ ДЛИНА подстрока СТРОКИ, позиция отсчитывается от 1 index СТРОКА СИМВОЛЫ позиция в СТРОКЕ, где первым найден любой из СИМВОЛОВ, иначе 0 length СТРОКА длина СТРОКИ + ЛЕКСЕМА воспринимать ЛЕКСЕМУ как строку, даже если это ключевое слово, как `match', или оператор, как `/' ( ВЫРАЖЕНИЕ ) значение ВЫРАЖЕНИЯ Помните, что при использовании в оболочке некоторые операторы должны быть взяты в кавычки. Если оба аргумента АРГ являются числами, то производится арифметическое сравнение, иначе они сравниваются как строки. Сопоставления с образцом возвращают совпавшую строку между \( и \) или пустую строку; если \( и \) не использованы, то возвращается число совпавших символов. Выходной статус равен 0, если ВЫРАЖЕНИЕ не пустое и не 0; 1, если ВЫРАЖЕНИЕ пусто или 0; 2, если ВЫРАЖЕНИЕ синтаксически неверно; и 3, если случится ошибка.