Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

exprposix - Online w chmurze

Uruchom exprposix w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

To jest polecenie exprposix, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


expr — ocenia argumenty jako wyrażenie

STRESZCZENIE


expr operand...

OPIS


Połączenia expr Narzędzie ocenia wyrażenie i zapisuje wynik na standardowe wyjście.

OPCJE


Brak.

OPERANDY


Pojedyncze wyrażenie oceniane przez expr zostaną utworzone z operand operandy, jak
opisane w części OPIS ROZSZERZONY. Aplikacja zapewni, że każdy z
symbole operatora wyrażenia:

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

i symbole liczba całkowita i ciąg w tabeli są podawane jako osobne argumenty
expr.

STDIN


Nieużywany.

WEJŚCIE AKTA


Brak.

ŚRODOWISKO ZMIENNE


Następujące zmienne środowiskowe mają wpływ na wykonanie expr:

JĘZYK Podaj wartość domyślną dla zmiennych internacjonalizacji, które nie są ustawione lub
zero. (Patrz tom Definicje podstawowe POSIX.1‐2008, Sekcja 8.2,
Umiędzynarodowienie Zmienne o pierwszeństwo internacjonalizacji
zmienne używane do określania wartości kategorii ustawień regionalnych).

LC_ALL Jeśli jest ustawiony na niepustą wartość ciągu, nadpisz wartości wszystkich pozostałych
zmienne internacjonalizacji.

LC_COLLATE
Określ lokalizację dla zachowania zakresów, klas równoważności i multi-
elementy zestawiające znaki w wyrażeniach regularnych i według ciągu znaków
operatory porównania.

LC_CTYPE Określ lokalizację dla interpretacji sekwencji bajtów danych tekstowych
jako znaki (na przykład jednobajtowe w przeciwieństwie do wielobajtowych znaków w
argumenty) i zachowanie klas znaków w wyrażeniach regularnych.

LC_MESSAGES
Określ ustawienia regionalne, które powinny być używane do wpływania na format i zawartość
komunikaty diagnostyczne zapisywane z błędem standardowym.

NLSPATH Określ lokalizację katalogów wiadomości do przetwarzania LC_MESSAGES.

ASYNCHRONICZNY WYDARZENIA


Domyślna.

STDOUT


Połączenia expr narzędzie oceni wyrażenie i zapisze wynik, po którym następuje a
, na standardowe wyjście.

STDERR


Błąd standardowy stosuje się tylko do komunikatów diagnostycznych.

WYDAJNOŚĆ AKTA


Brak.

ROZSZERZONY OPIS


Tworzenie wyrażenia, które ma zostać ocenione, pokazano w poniższej tabeli. The
symbole expr, wyr1, wyr2 reprezentują wyrażenia utworzone z liczba całkowita i ciąg
symbole i symbole operatora wyrażenia (wszystkie oddzielne argumenty) metodą rekurencyjną
zastosowanie konstrukcji opisanych w tabeli. Wyrażenia są wymienione w kolejności
o rosnącym priorytecie, z operatorami o równym priorytecie pogrupowanymi w poziomie
linie. Wszystkie operatory będą lewostronnie skojarzone.

┌───────────────┬─────────────────────────── ────────── ─────────┐
WyrażenieOpis
├───────────────┼─────────────────────────── ────────── ─────────┤
wyr1 | wyr2 │ Zwraca ocenę wyr1 jeśli jest │
│ │ ani zero, ani zero; w przeciwnym razie │
│ │ zwraca ocenę wyr2 jeśli jest │
│ │ nie jest zerowe; w przeciwnym razie zero. │
├───────────────┼─────────────────────────── ────────── ─────────┤
wyr1 & wyr2 │ Zwraca ocenę wyr1 jeśli │
│ │ żadne wyrażenie nie ma wartości null ani │
│ │ zero; w przeciwnym razie zwraca zero. │
├───────────────┼─────────────────────────── ────────── ─────────┤
│ │ Zwraca wynik dziesiętnej liczby całkowitej │
│ │ porównanie, jeśli oba argumenty to │
│ │ liczby całkowite; w przeciwnym razie zwraca wynik │
│ │ porównania ciągów znaków przy użyciu ustawień regionalnych- │
│ │ określona kolejność zestawiania. Wynik │
│ │ każdego porównania wynosi 1, jeśli określone │
│ │ relacja jest prawdziwa lub 0, jeśli │
│ │ związek jest fałszywy. │
wyr1 = wyr2 │ Równi. │
wyr1 > wyr2 │ Większy niż. │
wyr1 >= wyr2 │ Większy lub równy. │
wyr1 < wyr2 │ Mniej niż. │
wyr1 <= wyr2 │ Mniejszy lub równy. │
wyr1 != wyr2 │ Nierówne. │
├───────────────┼─────────────────────────── ────────── ─────────┤
wyr1 + wyr2 │ Dodawanie dziesiętnych liczb całkowitych │
│ │ argumenty. │
wyr1 - wyr2 │ Odejmowanie dziesiętnych liczb całkowitych │
│ │ argumenty. │
├───────────────┼─────────────────────────── ────────── ─────────┤
wyr1 * wyr2 │ Mnożenie dziesiętnych liczb całkowitych │
│ │ argumenty. │
wyr1 / wyr2 │ Całkowite dzielenie dziesiętnej liczby całkowitej- │
│ │ argumenty o wartościach, tworzące liczbę całkowitą │
│ │ wynik. │
wyr1 % wyr2 │ Reszta z dzielenia liczb całkowitych ułamka dziesiętnego │
│ │ argumenty o wartościach całkowitych. │
├───────────────┼─────────────────────────── ────────── ─────────┤
wyr1 : wyr2 │ Pasujące wyrażenie; patrz poniżej. │
├───────────────┼─────────────────────────── ────────── ─────────┤
│( expr ) │ Grupowanie symboli. Każde wyrażenie może być │
│ │ umieszczone w nawiasach. Nawiasy │
│ │ można zagnieżdżać na głębokość │
│ │ {EXPR_NEST_MAX}. │
├───────────────┼─────────────────────────── ────────── ─────────┤
liczba całkowita │ Argument składający się tylko z │
│ │ (opcjonalnie) jednoargumentowy minus, po którym następuje │
│ │ cyfry. │
ciąg │ Argument typu string; patrz poniżej. │
└───────────────┴─────────────────────────── ────────── ─────────┘
Dopasowywanie Wyrażenie
Połączenia ':' operator dopasowujący porównuje ciąg znaków będący wynikiem oceny wyr1
z wzorcem wyrażeń regularnych wynikającym z oceny wyr2. Regularny
składnia wyrażeń będzie zdefiniowana w tomie Base Definitions w POSIX.1-2008,
Sekcja 9.3, Basic Regularna Expressions, z tą różnicą, że wszystkie wzorce są zakotwiczone w
początek ciągu (to znaczy tylko sekwencje rozpoczynające się od pierwszego znaku a
string są dopasowywane przez wyrażenie regularne) i dlatego nie jest określone, czy
'^' jest w tym kontekście znakiem specjalnym. Zwykle operator dopasowujący zwraca a
ciąg znaków reprezentujący liczbę pasujących znaków ("0" w przypadku niepowodzenia). Alternatywnie, jeśli
wzorzec zawiera co najmniej jedno podwyrażenie wyrażenia regularnego „[\(...\)]”, ciąg
dopasowane przez wyrażenie odwołania wstecznego „\1” zostaną zwrócone. Jeśli odwołanie wsteczne
wyrażenie „\1” nie pasuje, zwracany jest ciąg zerowy.

sznur operand
Argument łańcuchowy to argument, którego nie można zidentyfikować jako liczba całkowita argument lub jako
jeden z symboli operatora wyrażenia pokazany w sekcji OPERANDY.

Użycie argumentów łańcuchowych długość, podstr, wskaźniklub mecz daje nieokreślone wyniki.

EXIT STATUS


Zwracane są następujące wartości wyjściowe:

0 The wyrażenie nie ma wartości null ani zera.

1 The wyrażenie ma wartość null lub zero.

2 Nieprawidłowe wyrażenie.

>2 Wystąpił błąd.

KONSEKWENCJE OF BŁĘDY


Domyślna.

Połączenia następujący działy jest informacyjny.

WNIOSEK ZASTOSOWANIE


Po przetworzeniu argumentów przez powłokę, expr nie jest wymagane, aby móc powiedzieć
różnica między operatorem a operandem, z wyjątkiem wartości. Jeśli „$a” is '='The
polecenie:

expr $a = '='

wygląda jak:

expr = = =

w miarę przekazywania argumentów expr (i wszystkie można uznać za '=' operator). The
następujące prace niezawodnie:

expr X$a = X=

Należy również pamiętać, że ten tom POSIX.1-2008 umożliwia implementacje rozszerzające narzędzia.
Połączenia expr Narzędzie pozwala na poprzedzenie argumentów całkowitych jednoargumentowym minusem. Ten
oznacza, że ​​argument będący liczbą całkowitą może wyglądać jak opcja. Dlatego zgodne
aplikacja musi wykorzystywać „--” konstrukcja Wytycznej 10 z tomu Base Definitions
POSIX.1-2008, Sekcja 12.2, Użyteczność Składnia Wytyczne aby chronić jego operandy, jeśli istnieją
czy jest szansa, że ​​pierwszy operand może być ujemną liczbą całkowitą (lub dowolnym ciągiem znaków z wiodącym
minus).

PRZYKŁADY


Połączenia expr narzędzie ma dość trudną składnię:

* Wiele operatorów to także operatory sterujące powłoki lub słowa zastrzeżone, więc tak jest
do ucieczki w wierszu poleceń.

* Każda część wyrażenia składa się z odrębnych argumentów, więc liberalne użycie
wymagane są znaki. Na przykład:

┌─────────────────┬───────────────────────── ──┐
NieważnyWażny
├─────────────────┼───────────────────────── ──┤
expr 1+2 │ expr 1 + 2 │
expr „1 + 2” │ expr 1 + 2 │
expr 1 + (2 * 3) │ expr 1 + \( 2 \* 3 \) │
└─────────────────┴───────────────────────────── ──┘
W wielu przypadkach funkcje arytmetyczne i łańcuchowe udostępniane są w ramach polecenia powłoki
języki są łatwiejsze w użyciu niż ich odpowiedniki w expr. Nowo napisane skrypty powinny
uniknąć expr na korzyść nowych funkcji powłoki; Widzieć Sekcja 2.5, parametry i
Zmienne i Sekcja 2.6.4, Arytmetyka Ekspansja.

Następujące polecenie:

a=$(wyr $a + 1)

dodaje 1 do zmiennej a.

Następujące polecenie, dla „$a” równe któremukolwiek /usr/abc/plik lub po prostu filet:

expr $a : '.*/\(.*\)' \| $a

zwraca ostatni segment nazwy ścieżki (tzn. filet). Aplikacje powinny unikać
charakter „/” używany samodzielnie jako argument; expr może zinterpretować to jako operator dzielenia.

Następujące polecenie:

expr „//$a” : '.*/\(.*\)'

jest lepszą reprezentacją poprzedniego przykładu. Dodatek "//" znaków
eliminuje wszelkie niejasności dotyczące operatora dzielenia i upraszcza całe wyrażenie.
Należy również pamiętać, że nazwy ścieżek mogą zawierać znaki zawarte w IFS zmienna i powinna
być cytowane, aby tego uniknąć „$a” rozwinąć w wiele argumentów.

Następujące polecenie:

expr „$VAR” : '.*'

zwraca liczbę znaków w VAR.

RACJONALNE UZASADNIENIE


We wczesnej propozycji w składni wyrażeń pasujących używano ERE. To zostało zmienione
do BRE, aby uniknąć przerwania zastosowań historycznych.

Użycie wiodącego w BRE jest nieokreślony, ponieważ ma wiele historycznych
wdrożenia traktowały go jako znak specjalny, pomimo swojego systemu
dokumentacja. Na przykład:

expr bla : ^fu expr ^fu : ^fu

zwróć odpowiednio 3 i 0 w tych systemach; ich dokumentacja oznaczałaby
odwracać. Zatem warunek zakotwiczenia pozostaje nieokreślony, aby uniknąć zerwania z historią
skrypty korzystające z tej nieudokumentowanej funkcji.

PRZYSZŁOŚĆ KIERUNKI


Brak.

Korzystaj z exprposix online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad