англійськафранцузькаіспанська

Ad


Значок OnWorks

exprposix - Інтернет у хмарі

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

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

ПРОГРАМА:

ІМ'Я


expr — оцінювати аргументи як вираз

СИНТАКСИС


експр операнд...

ОПИС


Команда експр Утиліта повинна оцінити вираз і записати результат у стандартний висновок.

ВАРІАНТИ


Ні.

ОПЕРАНДИ


Єдиний вираз, оцінений за допомогою експр утворюється з операнд операнди, як
описано в розділі РОЗШИРЕНИЙ ОПИС. Додаток має гарантувати, що кожен з
символи оператора виразу:

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

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

STDIN


Не використовується.

ВХІД ФАЙЛИ


Ні.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ


Наступні змінні середовища мають впливати на виконання експр:

МОВА Надайте значення за замовчуванням для змінних інтернаціоналізації, які не встановлені або
нуль. (Дивіться том Base Definitions POSIX.1-2008, розділ 8.2,
Internationalization Змінні за пріоритет інтернаціоналізації
змінні, що використовуються для визначення значень категорій мовного стандарту.)

LC_ALL Якщо встановлено не порожнє значення рядка, замініть значення всіх інших
змінні інтернаціоналізації.

LC_COLLATE
Визначте місцевість для поведінки діапазонів, класів еквівалентності та мульти-
елементи порівняння символів у регулярних виразах і за рядком
оператори порівняння.

LC_CTYPE Визначте локаль для інтерпретації послідовностей байтів текстових даних
як символи (наприклад, однобайтові на відміну від багатобайтових символів у
аргументи) і поведінку класів символів у регулярних виразах.

LC_MESSAGES
Визначте місцевий стандарт, який слід використовувати для впливу на формат і вміст
діагностичні повідомлення, записані у стандартну помилку.

NLSPATH Визначте розташування каталогів повідомлень для обробки LC_MESSAGES.

АСИНХРОННИЙ ПОДІЇ


За замовчуванням.

ВИСТАВКА


Команда експр Утиліта повинна оцінити вираз і записати результат, а потім а
, до стандартного виводу.

STDERR


Стандартна помилка повинна використовуватися лише для діагностичних повідомлень.

ВИХІД ФАЙЛИ


Ні.

ПОВЕРНЕНІ ОПИС


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

┌────────────────┬───────────────────────────────── ──────────┐
виразОпис
├───────────────┼───────────────────────────────── ──────────┤
вираз 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}. │
├───────────────┼───────────────────────────────── ──────────┤
ціле │ Аргумент, що складається лише з │
│ │ (необов’язковий) унарний мінус, за яким слід │
│ │ цифри. │
рядок │ рядковий аргумент; Дивись нижче. │
└───────────────┴───────────────────────────────── ──────────┘
Узгодження вираз
Команда ':' Оператор відповідності повинен порівнювати рядок, отриманий в результаті оцінки вираз 1
із шаблоном регулярного виразу, отриманим у результаті оцінки вираз 2. Регулярні
Синтаксис виразу має бути таким, який визначено в томі Base Definitions POSIX.1-2008,
розділ 9.3, базовий регулярний Вирази, за винятком того, що всі шаблони прив’язані до
початок рядка (тобто лише послідовності, які починаються з першого символу a
рядок відповідає регулярному виразу) і, отже, не вказано чи
'^' є особливим символом у цьому контексті. Зазвичай оператор відповідності повертає a
рядок, що представляє кількість відповідних символів ('0' на невдачу). Як варіант, якщо
шаблон містить принаймні один підвираз регулярного виразу "[\(...\)]", рядок
відповідає виразу зворотного посилання "\1" підлягає поверненню. Якщо зворотне посилання
вираз "\1" не збігається, то буде повернуто нульовий рядок.

рядок операнд
Рядковий аргумент — це аргумент, який не можна ідентифікувати як ціле аргумент або як
один із символів оператора виразу, показаних у розділі ОПЕРАНДИ.

Використання рядкових аргументів , субстр, індексабо матч дає невизначені результати.

EXIT СТАТУС


Повинні бути повернуті такі вихідні значення:

0 вираз оцінюється ні до нуля, ні до нуля.

1 вираз оцінюється як нуль або нуль.

2 Недійсний вираз.

>2 Сталася помилка.

НАСЛІДКИ OF ПОМИЛКИ


За замовчуванням.

Команда після розділам він має інформативний.

ЗАСТОСУВАННЯ ВИКОРИСТАННЯ


Після обробки аргументів оболонкою, експр не обов’язково вміти розповісти
різниця між оператором і операндом, крім значення. Якщо "$a" is '=',
команда:

експр $a = '='

виглядає як:

експр = = =

у міру передачі аргументів експр (і всі вони можуть бути прийняті як '=' оператор). The
надійно працює:

експр 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=$(вираз $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