diff options
Diffstat (limited to 'documentation/manual-pages/ru/man1/expr.1')
| -rw-r--r-- | documentation/manual-pages/ru/man1/expr.1 | 276 |
1 files changed, 0 insertions, 276 deletions
diff --git a/documentation/manual-pages/ru/man1/expr.1 b/documentation/manual-pages/ru/man1/expr.1 deleted file mode 100644 index 5307a37a02..0000000000 --- a/documentation/manual-pages/ru/man1/expr.1 +++ /dev/null @@ -1,276 +0,0 @@ -.\" -*- nroff -*- -.\"- -.\" Copyright (c) 1993 Winning Strategies, Inc. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Winning Strategies, Inc. -.\" 4. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" %FreeBSD: src/bin/expr/expr.1,v 1.29 2007/03/04 19:52:07 ru Exp % -.\" $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/man1/expr.1,v 1.2 2007/11/20 13:50:08 ru Exp $ -.\" $FreeBSD$ -.\" -.Dd 12 июля 2004 -.Dt EXPR 1 -.Os -.Sh НАЗВАНИЕ -.Nm expr -.Nd вычислить выражение -.Sh СИНТАКСИС -.Nm -.Op Fl e -.Ar выражение -.Sh ОПИСАНИЕ -Утилита -.Nm -вычисляет -.Ar выражение -и пишет результат в стандартный вывод. -.Pp -Все операторы и операнды должны передаваться, как отдельные аргументы. -Некоторые операторы имеют специальное значение для командных -интерпретаторов и, следовательно, должны заключаться в кавычки. -Все целочисленные операнды интерпретируются как числа с основанием 10. -.Pp -Арифметические операции выполняются, используя целочисленную знаковую -математику. -Если указан флаг -.Fl e , -арифметика использует тип данных -.Vt intmax_t -языка C (самый большой целочисленный тип данных), и -.Nm -сможет обнаружить арифметическое переполнение и вернуть индикатор ошибки. -Если указан числовой операнд, являющийся настолько большим, что происходит -переполнение при конвертации его в целое число, то он обрабатывается как -строка. -Если флаг -.Fl e -не указан, то переполнение в результате арифметических вычислений -и синтаксического разбора целочисленных аргументов -будет происходить без диагностики и в соответствии с правилами -стандарта языка C, используя тип данных -.Vt long . -.Pp -Операторы перечислены ниже в порядке увеличения приоритета. -Все они вычисляются слева направо. -Операторы с одинаковым приоритетом сгруппированы внутри символов -.Ql { -и -.Ql } . -.Bl -tag -width indent -.It Ar выражение1 Li | Ar выражение2 -Вернуть вычисленное значение выражения -.Ar выражение1 , -если оно не является ни пустой строкой, ни нулём. -Иначе возвращается значение -.Ar выражение2 . -.It Ar выражение1 Li & Ar выражение2 -Вернуть значение выражения -.Ar выражение1 , -если ни одно из выражений при вычислении не становится равным -пустой строке или нулю. -В противном случае, возвращается ноль. -.It Ar выражение1 Li "{=, >, >=, <, <=, !=}" Ar выражение2 -Вернуть результаты целочисленного сравнения, если оба аргумента являются -целыми числами. -В противном случае возвращает результаты сравнения строк, используя -зависящую от региональных настроек последовательность сравнения. -Результат каждого сравнения равен 1, если указанное соотношение справедливо, или -0, если соотношение ложно. -.It Ar выражение1 Li "{+, -}" Ar выражение2 -Вернуть результаты сложения или вычитания целочисленных аргументов. -.It Ar выражение1 Li "{*, /, %}" Ar выражение2 -Вернуть результаты умножения, целочисленного деления, -или остатка от деления целочисленных аргументов. -.It Ar выражение1 Li : Ar выражение2 -Оператор -.Dq Li \&: -сопоставляет -.Ar выражение1 -с -.Ar выражение2 , -которое должно быть базовым регулярным выражением. -Регулярное выражение привязывается к началу строки -подразумевающимся -.Dq Li ^ . -.Pp -Если сопоставление проходит удачно и шаблон содержит по -крайней мере одно подвыражение -.Dq Li "\e(...\e)" -регулярного выражения, -то возвращается строка, соответствующая -.Dq Li \e1 . -В противном случае оператор сопоставления возвращает -количество соответствующих шаблону символов. -Если сопоставление завершается неудачно и шаблон содержит подвыражение регулярного -выражения, то возвращается пустая строка. -В противном случае возвращается 0. -.El -.Pp -Круглые скобки используются для группирования в привычной манере. -.Pp -Утилита -.Nm -не делает лексического различия между аргументами, которые могут быть -операторами и аргументами, которые могут являться операндами. -Операнд, лексически идентичный оператору будет рассматриваться, как -синтаксическая ошибка. -Смотрите примеры ниже для обходного пути. -.Pp -Синтаксис команды -.Nm -в общем является исторически сложившимся и неудобным. -В новых приложениях вместо -.Nm -рекомендуется использовать арифметику командного интерпретатора. -.Ss Совместимость с предыдущими реализациями -Если не включена совместимость с -.Fx -4.x, -эта версия -.Nm -придерживается указаний к синтаксису утилит, определённых в -.Tn POSIX , -которые требуют, чтобы ведущий аргумент, начинающийся со знака минус -рассматривался, как опция к программе. -Стандартная синтаксическая структура -.Fl Fl -может быть использована для предотвращения такой обработки. -Тем не менее, многие из ранних версий -.Nm , -включая ту, что была в предыдущих версиях -.Fx , -не разрешали использовать данный синтаксис. -Смотрите ниже примеры переносимых способов для гарантирования корректной -интерпретации. -Чтобы определить, должен ли быть активирован режим совместимости, -используется функция -.Xr check_utility_compat 3 -(где в качестве аргумента -.Fa utility -используется -.Dq Li expr ) . -Эта возможность предназначена для использования в качестве -вспомогательного средства при переносе и отладке, когда -.Nm -используется в сложных сценариях, которые не могут быть легко -переделаны так, чтобы избежать использования непереносимых конструкций. -Включение режима совместимости -также косвенно активирует опцию -.Fl e , -так как это соответствует историческому поведению -.Nm -во -.Fx . -По историческим причинам, установка переменной окружения -.Ev EXPR_COMPAT -также включает режим совместимости. -.Sh ОКРУЖЕНИЕ -.Bl -tag -width ".Ev EXPR_COMPAT" -.It Ev EXPR_COMPAT -Если переменная определена, включить режим совместимости. -.El -.Sh СТАТУС ЗАВЕРШЕНИЯ -Утилита -.Nm -завершается с одним из следующих статусов: -.Bl -tag -width indent -compact -.It 0 -Выражение не является ни пустой строкой, ни нулём. -.It 1 -Выражение является пустой строкой или нулём. -.It 2 -Выражение некорректно. -.El -.Sh ПРИМЕРЫ -.Bl -bullet -.It -В следующем примере (используется синтаксис -.Xr sh 1 ) -добавляется единица к переменной -.Va a : -.Dl "a=$(expr $a + 1)" -.It -Эта команда не выполнится, если значение -.Va a -является отрицательным числом. -Чтобы предотвратить обработку отрицательных значений -.Va a -в качестве опций команде -.Nm -можно преобразовать выражение так: -.Dl "a=$(expr 1 + $a)" -.It -В общем случае, заключайте в скобки возможные отрицательные значения: -.Dl "a=$(expr \e( $a \e) + 1)" -.It -В этом примере выводится имя файла, вычлененного из пути, хранящегося -в переменной -.Va a . -Так как -.Va a -может содержать путь -.Pa / , -то необходимо предотвратить его обработку в качестве оператора деления. -Пара символов -.Li // -разрешает эту неоднозначность. -.Dl "expr \*q//$a\*q \&: '.*/\e(.*\e)'" -.El -.Pp -В следующих примерах выводится количество символов в переменной -.Va a . -И снова, если -.Va a -может начинаться с дефиса, то необходимо предотвратить его обработку в -качестве опции к -.Nm . -.Bl -bullet -.It -Если команда -.Nm -удовлетворяет стандарту -.St -p1003.1-2001 , -то сделать это просто: -.Dl "expr -- \*q$a\*q \&: \*q.*\*q" -.It -Для переносимости на более старые системы требуется -более сложная команда: -.Dl "expr \e( \*qX$a\*q \&: \*q.*\*q \e) - 1" -.El -.Sh СМОТРИ ТАКЖЕ -.Xr sh 1 , -.Xr test 1 , -.Xr check_utility_compat 3 -.Sh СТАНДАРТЫ -Утилита -.Nm -соответствует стандарту -.St -p1003.1-2001 , -если не активирован режим совместимости. -Флаг -.Fl e -является расширением стандарта. |
