EngelsFransSpaans

Ad


OnWorks-favicon

exprposix - Online in de cloud

Voer exprposix uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht exprposix die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


expr — evalueer argumenten als een uitdrukking

KORTE INHOUD


uitdrukken operand...

PRODUCTBESCHRIJVING


De uitdrukken hulpprogramma evalueert een uitdrukking en schrijft het resultaat naar de standaarduitvoer.

OPTIES


Geen.

OPERANDEN


De enkele expressie geëvalueerd door uitdrukken worden gevormd uit de operand operanden, zoals
beschreven in het gedeelte UITGEBREIDE BESCHRIJVING. De applicatie zorgt ervoor dat elk van
de expressie-operatorsymbolen:

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

en de symbolen geheel getal en snaar in de tabel worden geleverd als afzonderlijke argumenten voor
uitdrukken.

STDIN


Niet gebruikt.

INVOER FILES


Geen.

MILIEU VARIABELEN


De volgende omgevingsvariabelen zijn van invloed op de uitvoering van: uitdrukken:

TAAL Geef een standaardwaarde op voor de internationaliseringsvariabelen die niet zijn ingesteld of
nul. (Zie het volume Basisdefinities van POSIX.1‐2008, sectie 8.2,
internationalisering Variabelen voor de prioriteit van internationalisering
variabelen die worden gebruikt om de waarden van landinstellingen te bepalen.)

LC_ALL Indien ingesteld op een niet-lege tekenreekswaarde, overschrijf dan de waarden van alle andere
internationaliseringsvariabelen.

LC_COLLATE
Bepaal de landinstelling voor het gedrag van bereiken, equivalentieklassen en multi-
tekenverzamelingselementen binnen reguliere expressies en per tekenreeks
vergelijkende operatoren.

LC_CTYPE Bepaal de landinstelling voor de interpretatie van reeksen bytes tekstgegevens
als tekens (bijvoorbeeld single-byte in plaats van multi-byte tekens in
argumenten) en het gedrag van tekenklassen binnen reguliere expressies.

LC_MESSAGES
Bepaal de landinstelling die moet worden gebruikt om het formaat en de inhoud van te beïnvloeden
diagnostische berichten geschreven naar standaardfout.

NLSPAT Bepaal de locatie van berichtencatalogi voor de verwerking van: LC_MESSAGES.

ASYNCHROON EVENEMENTEN


Standaard.

STDOUT


De uitdrukken hulpprogramma evalueert de uitdrukking en schrijft het resultaat, gevolgd door a
, naar standaarduitvoer.

STDERR


De standaardfout wordt alleen gebruikt voor diagnostische berichten.

OUTPUT FILES


Geen.

UITGEBREID PRODUCTBESCHRIJVING


De vorming van de te evalueren uitdrukking wordt weergegeven in de volgende tabel. De
symbolen uitdrukken, uitdr1 en uitdr2 vertegenwoordigen uitdrukkingen gevormd uit geheel getal en snaar
symbolen en de expressie-operatorsymbolen (allemaal afzonderlijke argumenten) door recursief
toepassing van de constructen beschreven in de tabel. De uitdrukkingen staan ​​op volgorde
met toenemende prioriteit, met operatoren met gelijke prioriteit gegroepeerd tussen horizontaal
lijnen. Alle operatoren zullen links-associatief zijn.

┌───────────────┬─────────────────────── ────────── ─────────┐
UitdrukkingOmschrijving
├───────────────┼─────────────────────── ────────── ─────────┤
uitdr1 | uitdr2 │ Geeft de evaluatie van uitdr1 als het │ is
│ │ noch null noch nul; anders, │
│ │ geeft de evaluatie van uitdr2 als het │ is
│ │ niet null; anders nul. │
├───────────────┼─────────────────────── ────────── ─────────┤
uitdr1 & uitdr2 │ Geeft de evaluatie van uitdr1 als │
│ │ geen van beide expressies resulteert in nul of │
│ │ nul; anders wordt nul geretourneerd. │
├───────────────┼─────────────────────── ────────── ─────────┤
│ │ Geeft het resultaat van een decimaal geheel getal │
│ │ vergelijking als beide argumenten │ zijn
│ │ gehele getallen; anders wordt het resultaat │ geretourneerd
│ │ van een tekenreeksvergelijking met behulp van de locale- │
│ │ specifieke sorteervolgorde. Het resultaat │
│ │ van elke vergelijking is 1 als de gespecificeerde │
│ │ relatie waar is, of 0 als de │
│ │ relatie is onjuist. │
uitdr1 = uitdr2 │ Gelijk. │
uitdr1 > uitdr2 │ Groter dan. │
uitdr1 >= uitdr2 │ Groter dan of gelijk aan. │
uitdr1 < uitdr2 │ Minder dan. │
uitdr1 <= uitdr2 │ Kleiner dan of gelijk aan. │
uitdr1 != uitdr2 │ Niet gelijk. │
├───────────────┼─────────────────────── ────────── ─────────┤
uitdr1 + uitdr2 │ Toevoeging van decimale integer-waarde │
│ │ argumenten. │
uitdr1 - uitdr2 │ Aftrekken van decimale integerwaarde │
│ │ argumenten. │
├───────────────┼─────────────────────── ────────── ─────────┤
uitdr1 * uitdr2 │ Vermenigvuldiging van decimaal geheel getal │
│ │ argumenten. │
uitdr1 / uitdr2 │ Integer deling van decimaal geheel getal- │
│ │ gewaardeerde argumenten, resulterend in een geheel getal │
│ │ resultaat. │
uitdr1 % uitdr2 │ Rest van gehele deling van decimaal │
│ │ argumenten met gehele waarden. │
├───────────────┼─────────────────────── ────────── ─────────┤
uitdr1 : uitdr2 │ Bijpassende uitdrukking; zie hieronder. │
├───────────────┼─────────────────────── ────────── ─────────┤
│( uitdrukken ) │ Symbolen groeperen. Elke uitdrukking kan │ zijn
│ │ tussen haakjes geplaatst. Haakjes │
│ │ kan worden genest tot een diepte van │
│ │ {EXPR_NEST_MAX}. │
├───────────────┼─────────────────────── ────────── ─────────┤
geheel getal │ Een argument dat alleen uit een │ bestaat
│ │ (optioneel) unair minus gevolgd door │
│ │ cijfers. │
snaar │ Een stringargument; zie hieronder. │
└───────────────┴─────────────────────── ────────── ─────────┘
Bijpassende Uitdrukking
De ':' matching-operator vergelijkt de string die het resultaat is van de evaluatie van uitdr1
met het reguliere expressiepatroon dat voortvloeit uit de evaluatie van uitdr2. regelmatig
uitdrukkingssyntaxis is die gedefinieerd in het volume Base Definitions van POSIX.1-2008,
sectie 9.3, Basic Normaal Uitdrukkingen, behalve dat alle patronen zijn verankerd aan de
begin van de tekenreeks (dat wil zeggen, alleen reeksen die beginnen met het eerste teken van een
string komen overeen met de reguliere expressie) en daarom is het niet gespecificeerd of
'^' is een speciaal personage in die context. Gewoonlijk retourneert de overeenkomende operator a
tekenreeks die het aantal overeenkomende tekens vertegenwoordigt ('0' bij falen). Alternatief, als
het patroon bevat ten minste één subexpressie van een reguliere expressie "[\(...\)]", de snaar
geëvenaard door de back-referentie-expressie "\1" worden geretourneerd. Als de terugverwijzing
uitdrukking "\1" komt niet overeen, dan wordt de null-tekenreeks geretourneerd.

Draad operand
Een stringargument is een argument dat niet kan worden geïdentificeerd als een geheel getal betoog of zo
een van de uitdrukkingsoperatorsymbolen die worden weergegeven in de sectie OPERANDS.

Het gebruik van stringargumenten lengte, substr, indexof match levert niet-gespecificeerde resultaten op.

EXIT STATUS


De volgende exit-waarden worden geretourneerd:

0 De uitdrukking evalueert noch nul, noch nul.

1 De uitdrukking resulteert in nul of nul.

2 Ongeldig uitdrukking.

>2 Er is een fout opgetreden.

GEVOLGEN OF FOUTEN


Standaard.

De volgend secties zijn informatief.

TOEPASSING GEBRUIK


Na argumentverwerking door de shell, uitdrukken is niet vereist om het te kunnen vertellen
verschil tussen een operator en een operand behalve door de waarde. Als "$een" is '='
opdracht:

uitdrukken $a = '='

lijkt op:

uitdrukken = = =

als de argumenten worden doorgegeven aan uitdrukken (en ze kunnen allemaal worden beschouwd als de '=' exploitant). De
volgende werkt betrouwbaar:

uitdrukken X $ een = X=

Merk ook op dat dit deel van POSIX.1-2008 implementaties toestaat om hulpprogramma's uit te breiden.
De uitdrukken Met dit hulpprogramma kunnen de integer-argumenten worden voorafgegaan door een unaire min. Dit
betekent dat een geheel getal-argument op een optie kan lijken. Dus conformeren
toepassing moet gebruik maken van de "--" constructie van Richtlijn 10 van het boek Basisdefinities
van POSIX.1-2008, sectie 12.2, utility Syntaxis Richtlijnen om zijn operanden te beschermen als die er zijn
is de kans dat de eerste operand een negatief geheel getal is (of een tekenreeks met een voorloop
minus).

Voorbeelden


De uitdrukken hulpprogramma heeft een nogal moeilijke syntaxis:

* Veel van de operators zijn ook shell-control-operators of gereserveerde woorden, dus dat is zo
te escapen op de opdrachtregel.

* Elk deel van de uitdrukking is samengesteld uit afzonderlijke argumenten, dus liberaal gebruik van
tekens is vereist. Bijvoorbeeld:

┌─────────────────┬───────────────────── ──┐
OngeldigGeldig
├─────────────────┼───────────────────── ──┤
uitdrukken 1+2 │ uitdrukken 1 + 2 │
uitdrukken "1 + 2" │ uitdrukken 1 + 2 │
uitdrukken 1 + (2 * 3) │ uitdrukken 1 + \( 2 \* 3 \) │
└─────────────────┴───────────────────── ──┘
In veel gevallen worden de functies voor rekenen en tekenreeksen geleverd als onderdeel van het shell-commando
taal zijn gemakkelijker te gebruiken dan hun equivalenten in uitdrukken. Nieuw geschreven scripts zouden dat wel moeten doen
vermijd uitdrukken ten gunste van de nieuwe functies binnen de shell; zien sectie 2.5, parameters en
Variabelen en sectie 2.6.4, Rekenkunde Uitbreiding.

Het volgende commando:

a=$(uitdr $a + 1)

telt 1 op bij de variabele a.

De volgende opdracht, voor "$een" gelijk aan een van beide /usr/abc/bestand of gewoon filet:

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

geeft het laatste segment van een padnaam terug (dat wil zeggen, filet). Toepassingen moeten de
karakter '/' alleen gebruikt als argument; uitdrukken kan het interpreteren als de delingsoperator.

Het volgende commando:

uitdrukken "//$a" : '.*/\(.*\)'

is een betere weergave van het vorige voorbeeld. De toevoeging van de "//" tekens
elimineert elke dubbelzinnigheid over de delingsoperator en vereenvoudigt de hele uitdrukking.
Houd er ook rekening mee dat padnamen tekens kunnen bevatten die voorkomen in de IFS variabel en zou moeten
worden geciteerd om te voorkomen dat ze hebben "$een" uitbreiden naar meerdere argumenten.

Het volgende commando:

uitdrukken "$VAR" : '.*'

retourneert het aantal tekens in VAR.

BEWEEGREDENEN


In een vroeg voorstel werden ERE's gebruikt in de syntaxis van de overeenkomende uitdrukking. Dit is veranderd
naar BRE's om te voorkomen dat historische toepassingen kapot gaan.

Het gebruik van een leidende in de BRE is niet gespecificeerd omdat veel historisch
implementaties hebben het ondanks hun systeem als een speciaal personage behandeld
documentatie. Bijvoorbeeld:

uitdrukken foo : ^ foe uitdrukken ^ foe : ^ foe

geef respectievelijk 3 en 0 terug op die systemen; hun documentatie zou de
achteruit. De verankeringsvoorwaarde wordt dus niet gespecificeerd om te voorkomen dat de geschiedenis wordt verbroken
scripts die vertrouwen op deze niet-gedocumenteerde functie.

TOEKOMST ROUTEBESCHRIJVING


Geen.

Gebruik exprposix online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad