|
СИНТАКСИС |
|||||||||||||||||||||||||||||
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, если случится ошибка.