АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

exprposix - Интернет в облаке

Запустите exprposix в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда exprposix, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


expr - оценить аргументы как выражение

СИНТАКСИС


выраж операнд...

ОПИСАНИЕ


Ассоциация выраж Утилита должна вычислить выражение и записать результат в стандартный вывод.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Нет.

ОПЕРАНДЫ


Единственное выражение, оцениваемое выраж формируется из операнд операнды, как
описано в разделе РАСШИРЕННОЕ ОПИСАНИЕ. Приложение должно гарантировать, что каждый из
символы оператора выражения:

( ) | & = > >= < <= != + - * / % :

и символы целое и string в таблице представлены как отдельные аргументы для
выраж.

СТАНДИН


Не используется.

ВХОД FILES


Нет.

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


Следующие переменные среды должны влиять на выполнение выраж:

ДЛИННЫЙ Задайте значение по умолчанию для переменных интернационализации, которые не установлены или
нулевой. (См. Том Базовых определений POSIX.1-2008, Раздел 8.2,
Интернационализация Переменные за приоритет интернационализации
переменные, используемые для определения значений категорий локали.)

LC_ALL Если установлено непустое строковое значение, переопределить значения всех остальных
переменные интернационализации.

LC_COLLATE
Определите локаль для поведения диапазонов, классов эквивалентности и мульти-
элементы сопоставления символов в регулярных выражениях и по строке
операторы сравнения.

LC_CTYPE Определите локаль для интерпретации последовательностей байтов текстовых данных
как символы (например, однобайтовые, а не многобайтовые символы в
arguments) и поведение классов символов в регулярных выражениях.

LC_MESSAGES
Определите языковой стандарт, который следует использовать, чтобы повлиять на формат и содержимое
диагностические сообщения записываются в стандартную ошибку.

НЛПСАТ Определите расположение каталогов сообщений для обработки LC_MESSAGES.

АСИНХРОННЫЙ СОБЫТИЯ


По умолчанию.

стандартный вывод


Ассоциация выраж утилита должна оценить выражение и записать результат, за которым следует
, в стандартный вывод.

СТДЕРР


Стандартная ошибка должна использоваться только для диагностических сообщений.

ВЫВОД FILES


Нет.

РАСПРОСТРАНЕНИЯ ОПИСАНИЕ


Формирование выражения для оценки показано в следующей таблице. В
Символы выраж, выражение1качества выражение2 представляют собой выражения, сформированные из целое и string
символы и символы оператора выражения (все отдельные аргументы) рекурсивным
применение конструкций, описанных в таблице. Выражения перечислены в порядке
с возрастающим приоритетом, с операторами равного приоритета, сгруппированными между горизонтальными
линий. Все операторы должны быть левоассоциативными.

┌───────────────┬─────────────────────────────────── ─────────
ВыражениеОписание
├───────────────┼─────────────────────────────────── ─────────
выражение1 | выражение2 │ Возвращает оценку выражение1 если это │
│ │ ни нуль, ни ноль; в противном случае │
│ │ возвращает оценку выражение2 если это │
│ │ не равно нулю; в противном случае - ноль. │
├───────────────┼─────────────────────────────────── ─────────
выражение1 & выражение2 │ Возвращает оценку выражение1 если │
│ │ ни одно из выражений не является нулевым или │
│ │ ноль; в противном случае возвращает ноль. │
├───────────────┼─────────────────────────────────── ─────────
│ │ Возвращает результат десятичного целого числа │
│ │ сравнение, если оба аргумента равны │
│ │ целые числа; в противном случае возвращает результат │
│ │ сравнения строк с использованием локали- │
│ │ конкретная последовательность сопоставления. Результат │
│ │ каждого сравнения равно 1, если указанное │
│ │ отношение истинно, или 0, если │
│ │ отношения ложны. │
выражение1 = выражение2 │ Равно. │
выражение1 > выражение2 │ Больше чем. │
выражение1 >= выражение2 │ Больше или равно. │
выражение1 < выражение2 │ Менее чем. │
выражение1 <= выражение2 │ Меньше или равно. │
выражение1 != выражение2 │ Не равно. │
├───────────────┼─────────────────────────────────── ─────────
выражение1 + выражение2 │ Сложение десятичных целых чисел │
│ │ аргументы. │
выражение1 - выражение2 │ Вычитание десятичного целого числа │
│ │ аргументы. │
├───────────────┼─────────────────────────────────── ─────────
выражение1 * выражение2 │ Умножение десятичных целых чисел │
│ │ аргументы. │
выражение1 / выражение2 │ Целочисленное деление десятичного целого числа- │
│ │ аргументы, дающие целое число │
│ │ результат. │
выражение1 % выражение2 │ Остаток от целочисленного деления десятичной дроби │
│ │ целочисленные аргументы. │
├───────────────┼─────────────────────────────────── ─────────
выражение1 : выражение2 │ Соответствующее выражение; см. ниже. │
├───────────────┼─────────────────────────────────── ─────────
│ ( выраж ) │ Группировка символов. Любое выражение может быть │
│ │ заключено в круглые скобки. Скобки │
│ │ может быть вложен на глубину до │
│ │ {EXPR_NEST_MAX}. │
├───────────────┼─────────────────────────────────── ─────────
целое │ Аргумент, состоящий только из │
│ │ (необязательно) унарный минус, за которым следует │
│ │ цифры. │
string │ Строковый аргумент; см. ниже. │
└───────────────┴─────────────────────────────────── ─────────┘
Согласование Выражение
Ассоциация ':' оператор сопоставления должен сравнивать строку, полученную в результате оценки выражение1
с шаблоном регулярного выражения, полученным в результате оценки выражение2, регулярное
синтаксис выражения должен быть таким, как определен в томе Базовых определений POSIX.1-2008,
Раздел 9.3, Базовый Стандарт Expressions, за исключением того, что все шаблоны привязаны к
начало строки (то есть только последовательности, начинающиеся с первого символа
строки совпадают с регулярным выражением) и, следовательно, не указано,
'^' является специальным символом в этом контексте. Обычно оператор сопоставления возвращает
строка, представляющая количество совпадающих символов ('0' при отказе). В качестве альтернативы, если
шаблон содержит как минимум одно подвыражение регулярного выражения "[\ (... \)]", строка
соответствует выражению обратной ссылки "\ 1" подлежит возврату. Если обратная ссылка
выражение "\ 1" не совпадает, возвращается пустая строка.

строка Операнд
Строковый аргумент - это аргумент, который нельзя идентифицировать как целое аргумент или как
один из символов оператора выражения, показанного в разделе ОПЕРАНДЫ.

Использование строковых аргументов , подстрока, индексили совпадение дает неопределенные результаты.

ВЫХОД статус


Должны быть возвращены следующие значения выхода:

0 выражение не оценивается ни в нуль, ни в ноль.

1 выражение оценивается как ноль или ноль.

2 Недействительно выражение.

> 2 Произошла ошибка.

ПОСЛЕДСТВИЯ OF ОШИБКИ


По умолчанию.

Ассоциация после разделах Он информативный.

ЗАЯВЛЕНИЕ ИСПОЛЬЗОВАНИЕ


После обработки аргумента оболочкой выраж не требуется, чтобы сказать
разница между оператором и операндом, кроме значения. Если "$ a" is знак равно,
команда:

выраж $a = знак равно

выглядит как:

выраж = = =

поскольку аргументы передаются в выраж (и все они могут быть приняты за знак равно оператор). В
Надежно работает следующее:

выраж X $ a = X=

Также обратите внимание, что этот том POSIX.1-2008 разрешает реализациям расширять служебные программы.
Ассоциация выраж Утилита позволяет ставить перед целочисленными аргументами унарный минус. Этот
означает, что целочисленный аргумент может выглядеть как опция. Следовательно, соответствующий
приложение должно использовать "---" составить Принцип 10 из тома Базовых определений
POSIX.1-2008, Раздел 12.2, утилита Синтаксис Инструкции чтобы защитить свои операнды, если есть
есть вероятность, что первый операнд может быть отрицательным целым числом (или любой строкой с ведущим
минус).

ПРИМЕРЫ


Ассоциация выраж утилита имеет довольно сложный синтаксис:

* Многие операторы также являются операторами управления оболочкой или зарезервированными словами, поэтому у них есть
для экранирования в командной строке.

* Каждая часть выражения состоит из отдельных аргументов, поэтому либеральное использование
требуется символов. Например:

┌─────────────────┬────────────────────────
НедействительныйДействительный
├─────────────────┼────────────────────────
выраж 1 + 2 │ выраж 1 + 2 │
выраж «1 + 2» │ выраж 1 + 2 │
выраж 1 + (2*3) │ выраж 1 + \ (2 \ * 3 \) │
└─────────────────┴────────────────────────
Во многих случаях арифметические и строковые функции, предоставляемые как часть команды оболочки
языка проще в использовании, чем их эквиваленты в выраж. Вновь написанные сценарии должны
избежать выраж в пользу новых функций в оболочке; видеть Раздел 2.5, параметры и
Переменные и Раздел 2.6.4, Арифметический расширение.

Следующая команда:

a = $ (expr $a + 1)

добавляет 1 к переменной a.

Следующая команда для "$ a" равно либо / usr / abc / файл или просто файл:

выраж $a : '. * / \ (. * \)' \| $a

возвращает последний сегмент пути (то есть файл). Приложения должны избегать
персонаж '/' используется отдельно как аргумент; выраж может интерпретировать его как оператор деления.

Следующая команда:

выраж "// $ a" : '. * / \ (. * \)'

является лучшим представлением предыдущего примера. Добавление "//" символы
устраняет любую двусмысленность в отношении оператора деления и упрощает все выражение.
Также обратите внимание, что имена путей могут содержать символы, содержащиеся в IFS переменная и должна
цитироваться, чтобы избежать "$ a" развернуть на несколько аргументов.

Следующая команда:

выраж "$ VAR" : '. *'

возвращает количество символов в VAR.

ОБОСНОВАНИЕ


В раннем предложении ERE использовались в синтаксисе совпадающего выражения. Это было изменено
в BRE, чтобы избежать нарушения исторических приложений.

Использование ведущего в BRE не указано, потому что многие исторические
реализации трактовали его как особый символ, несмотря на их систему
документация. Например:

выраж Foo : ^ foo выраж ^ foo : ^ foo

вернуть 3 и 0 соответственно в этих системах; их документация будет подразумевать
задний ход. Таким образом, условие привязки остается неопределенным, чтобы избежать нарушения исторических данных.
скрипты, использующие эту недокументированную функцию.

БУДУЩЕЕ НАПРАВЛЕНИЯ


Нет.

Используйте exprposix онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad