GoGPT Best VPN GoSearch

OnWorks-favicon

testposix - Online in de cloud

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

Dit is de opdracht testposix 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


test - evalueer expressie

KORTE INHOUD


proef [uitdrukking]

[ [uitdrukking] ]

PRODUCTBESCHRIJVING


De proef nutsbedrijf zal de uitdrukking en vermeld het resultaat van de evaluatie
door zijn exit-status. Een afsluitstatus van nul geeft aan dat de expressie als waar wordt geëvalueerd
en een afsluitstatus van 1 geeft aan dat de expressie als onwaar is geëvalueerd.

In de tweede vorm van het hulpprogramma, dat gebruik maakt van "[]" dan proef, zal de aanvraag
Zorg ervoor dat de vierkante haakjes afzonderlijke argumenten zijn.

OPTIES


De proef hulpprogramma zal de "--" argumenteren op de manier aangegeven door
Richtlijn 10 in het Base Definitions-volume van POSIX.1‐2008, sectie 12.2, utility Syntaxis
Richtlijnen.

Er worden geen opties ondersteund.

OPERANDEN


De applicatie zorgt ervoor dat alle operators en elementen van primaire waarden worden gepresenteerd als
afzonderlijke argumenten voor de proef utility.

De volgende primaire waarden kunnen worden gebruikt om te construeren uitdrukking:

b padnaam
waar als padnaam lost op naar een bestaande mapinvoer voor een blokspecial
bestand. Vals als padnaam niet kan worden opgelost, of als padnaam besluit tot een
bestaand directory-item voor een bestand dat geen speciaal blokbestand is.

c padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een speciaal teken
bestand. Vals als padnaam niet kan worden opgelost, of als padnaam besluit tot een
bestaand directory-item voor een bestand dat geen speciaal tekenbestand is.

d padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een directory. Vals
if padnaam niet kan worden opgelost, of als padnaam wordt omgezet naar een bestaande directory
invoer voor een bestand dat geen directory is.

e padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item. Vals als padnaam
kan niet opgelost worden.

f padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een gewoon bestand.
Vals als padnaam niet kan worden opgelost, of als padnaam wordt omgezet in een bestaand
directoryvermelding voor een bestand dat geen gewoon bestand is.

g padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een bestand dat het
set-group-ID vlag ingesteld. Vals als padnaam niet kan worden opgelost, of als padnaam
wordt omgezet naar een bestaand directory-item voor een bestand dat niet over de juiste instellingen beschikt
groep-ID vlag ingesteld.

h padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een symbolische link.
Vals als padnaam niet kan worden opgelost, of als padnaam wordt omgezet in een bestaand
directoryvermelding voor een bestand dat geen symbolische link is. Als het laatste onderdeel
of padnaam een symbolische link is, wordt die symbolische link niet gevolgd.

L padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een symbolische link.
Vals als padnaam niet kan worden opgelost, of als padnaam wordt omgezet in een bestaand
directoryvermelding voor een bestand dat geen symbolische link is. Als het laatste onderdeel
of padnaam een symbolische link is, wordt die symbolische link niet gevolgd.

n snaar Waar als de lengte van snaar is niet nul; anders vals.

p padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een FIFO. Vals als
padnaam niet kan worden opgelost, of als padnaam wordt omgezet naar een bestaande directory
invoer voor een bestand dat geen FIFO is.

r padnaam
waar als padnaam wordt omgezet naar een bestaand mapitem voor een bestand waarvoor
toestemming om uit het bestand te lezen wordt verleend, zoals gedefinieerd in sectie 1.1.1.4,
Dien in Lees, Schrijven, en Creatie. Vals als padnaam niet kan worden opgelost, of als
padnaam wordt omgezet naar een bestaande mapvermelding voor een bestand waarvoor toestemming is verleend
om uit het bestand te lezen, wordt niet toegestaan.

S padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een socket. Vals als
padnaam niet kan worden opgelost, of als padnaam wordt omgezet naar een bestaande directory
invoer voor een bestand dat geen socket is.

s padnaam
waar als padnaam wordt omgezet naar een bestaande mapvermelding voor een bestand met de extensie
grootte groter dan nul. Vals als padnaam niet kan worden opgelost, of als padnaam
wordt omgezet naar een bestaand directory-item voor een bestand dat geen grootte heeft
groter dan nul.

t bestandsbeschrijving
Waar als bestandsdescriptornummer bestandsbeschrijving is open en is geassocieerd met een
terminal. Vals als bestandsbeschrijving is geen geldig bestandsdescriptornummer, of if
bestandsdescriptornummer bestandsbeschrijving niet open is, of dat deze wel open is, maar dat niet is
gekoppeld aan een terminal.

u padnaam
waar als padnaam wordt omgezet naar een bestaand directory-item voor een bestand dat het
set-user-ID vlag ingesteld. Vals als padnaam niet kan worden opgelost, of als padnaam
wordt omgezet naar een bestaand directory-item voor een bestand dat niet over de juiste instellingen beschikt
gebruikers-ID-vlag ingesteld.

w padnaam
waar als padnaam wordt omgezet naar een bestaand mapitem voor een bestand waarvoor
toestemming om naar het bestand te schrijven wordt verleend, zoals gedefinieerd in sectie 1.1.1.4,
Dien in Lees, Schrijven, en Creatie. Vals als padnaam niet kan worden opgelost, of als
padnaam wordt omgezet naar een bestaande mapvermelding voor een bestand waarvoor toestemming is verleend
om naar het bestand te schrijven wordt niet toegestaan.

x padnaam
waar als padnaam wordt omgezet naar een bestaand mapitem voor een bestand waarvoor
toestemming om het bestand uit te voeren (of te doorzoeken, als het een map is) zal zijn
verleend, zoals gedefinieerd in sectie 1.1.1.4, Dien in Lees, Schrijven, en Creatie. Vals
if padnaam niet kan worden opgelost, of als padnaam wordt omgezet naar een bestaande directory
invoer voor een bestand waarvoor geen toestemming is verleend om het bestand uit te voeren (of te zoeken).
worden verleend.

z snaar Waar als de lengte van de tekenreeks snaar is nul; anders vals.

snaar True als de tekenreeks snaar is niet de nulreeks; anders vals.

s1 = s2 Waar als de snaren s1 en s2 zijn identiek; anders vals.

s1 != s2 Waar als de snaren s1 en s2 zijn niet identiek; anders vals.

n1 eq n2 Waar als de gehele getallen n1 en n2 zijn algebraïsch gelijk; anders vals.

n1 ne n2 Waar als de gehele getallen n1 en n2 zijn niet algebraïsch gelijk; anders vals.

n1 −gt n2 Waar als het gehele getal n1 is algebraïsch groter dan het gehele getal n2; anders,
vals.

n1 −ge n2 Waar als het gehele getal n1 is algebraïsch groter dan of gelijk aan het gehele getal n2;
anders vals.

n1 −lt n2 Waar als het gehele getal n1 is algebraïsch kleiner dan het gehele getal n2; anders,
vals.

n1 −le n2 Waar als het gehele getal n1 is algebraïsch kleiner dan of gelijk aan het gehele getal n2;
anders vals.

uitdrukking1 a uitdrukking2
Waar als beide uitdrukking1 en uitdrukking2 zijn waar; anders vals. De a
binaire primaire blijft associatief. Het heeft een hogere prioriteit dan o.

uitdrukking1 o uitdrukking2
Waar als een van beide uitdrukking1 or uitdrukking2 is waar; anders vals. De o
binaire primaire blijft associatief.

Met uitzondering van de h padnaam en L padnaam voorverkiezingen, indien a padnaam argument is:
een symbolische link, proef evalueert de uitdrukking door de symbolische link op te lossen en
met behulp van het bestand waarnaar door de link wordt verwezen.

Deze voorverkiezingen kunnen worden gecombineerd met de volgende operatoren:

! uitdrukking
waar als uitdrukking is fout. Vals als uitdrukking is waar.

( uitdrukking )
waar als uitdrukking is waar. Vals als uitdrukking is fout. De haakjes kunnen zijn
gebruikt om de normale prioriteit en associativiteit te veranderen.

De voorverkiezingen met twee elementen van het formulier:

-primaire_operator primaire_operand

staan ​​bekend als unaire voorverkiezingen. De voorverkiezingen met drie elementen in een van de twee
vormen:

primaire_operand -primaire_operator primaire_operand

primaire_operand primaire_operator primaire_operand

staan ​​bekend als binair voorverkiezingen. Extra implementatiegedefinieerde operators en
primaire_operators kunnen worden geleverd door implementaties. Zij moeten de vorm − hebbenoperator
waar het eerste teken van operator is geen cijfer.

Het algoritme voor het bepalen van de prioriteit van de operatoren en de retourwaarde daarvan
wordt gegenereerd, is gebaseerd op het aantal gepresenteerde argumenten proef. (Maar wanneer
met de "[...]" van de het laatste argument wordt niet meegeteld
dit algoritme.)

In de volgende lijst vertegenwoordigen $1, $2, $3 en $4 de gepresenteerde argumenten proef:

0 argumenten:
Afsluiten onwaar (1).

1 argument: Exit true (0) als $1 niet nul is; anders sluit u vals af.

2 argumenten:
*Als $1 is '!', exit true als $2 nul is, false als $2 niet nul is.

* Als $1 een unaire primaire test is, sluit u true af als de unaire test waar is, en false als
de unaire test is vals.

* Anders levert u niet-gespecificeerde resultaten op.

3 argumenten:
* Als $2 een binaire primaire is, voer dan de binaire test van $1 en $3 uit.

*Als $1 is '!', ontken de test met twee argumenten van $2 en $3.

*Als $1 is '(' en $3 is ')', voer de unaire test van $2 uit. Op systemen die
ondersteunen de XSI-optie niet, de resultaten zijn niet gespecificeerd als $1 dat is '('
en $3 is ')'.

* Anders levert u niet-gespecificeerde resultaten op.

4 argumenten:
*Als $1 is '!', ontken de test met drie argumenten van $2, $3 en $4.

*Als $1 is '(' en $4 is ')', voer de test met twee argumenten van $2 en $3 uit.
Op systemen die de XSI-optie niet ondersteunen, zijn de resultaten niet gespecificeerd
als $1 is '(' en $4 is ')'.

* Anders zijn de resultaten niet gespecificeerd.

>4 argumenten:
De resultaten zijn niet gespecificeerd.

Op XSI-conforme systemen moeten combinaties van primaire en operators mogelijk zijn
geëvalueerd met behulp van de eerder beschreven voorrangs- en associativiteitsregels.
Bovendien is de stringvergelijking binaire primaire waarden '=' en "!=" zal een hebben
hogere prioriteit dan enige unaire primaire.

STDIN


Niet gebruikt.

INVOER FILES


Geen.

MILIEU VARIABELEN


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

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_CTYPE Bepaal de landinstelling voor de interpretatie van reeksen bytes tekstgegevens
als tekens (bijvoorbeeld single-byte in plaats van multi-byte tekens in
argumenten).

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


Niet gebruikt.

STDERR


De standaardfout wordt alleen gebruikt voor diagnostische berichten.

OUTPUT FILES


Geen.

UITGEBREID PRODUCTBESCHRIJVING


Geen.

EXIT STATUS


De volgende exit-waarden worden geretourneerd:

0 uitdrukking geëvalueerd naar waar.

1 uitdrukking geëvalueerd als onwaar of uitdrukking was vermist.

>1 Er is een fout opgetreden.

GEVOLGEN OF FOUTEN


Standaard.

De volgend secties zijn informatief.

TOEPASSING GEBRUIK


De XSI-extensies die de a en o binaire primaire waarden en de '(' en ')' exploitanten
als verouderd aangemerkt. (Veel uitdrukkingen die ze gebruiken, worden dubbelzinnig gedefinieerd door de
grammatica afhankelijk van de specifieke uitdrukkingen die worden geëvalueerd.) Scripts die deze gebruiken
expressies moeten worden geconverteerd naar de onderstaande formulieren. Ook al zijn er veel implementaties
Deze verouderde vormen zullen blijven ondersteunen, scripts moeten uiterst voorzichtig zijn wanneer
omgaan met door de gebruiker aangeleverde input die verward kan worden met deze en andere primaire waarden en
exploitanten. Tenzij de applicatieontwikkelaar alle gevallen kent die input opleveren voor het
script, aanroepingen zoals:

proef '$ 1' a '$ 2'

moet worden geschreven als:

proef '$ 1' && proef '$ 2'

om problemen te voorkomen als een gebruiker waarden opgeeft zoals $1 ingesteld op '!' en $2 op nul gezet
snaar. Dat wil zeggen, in gevallen waarin maximale draagbaarheid van belang is, vervangt u:

proef uitdr1 a uitdr2

met:

proef uitdr1 && proef uitdr2

en vervang:

proef uitdr1 o uitdr2

met:

proef uitdr1 || proef uitdr2

maar let op, in proef, a heeft een hogere prioriteit dan o en "&&" en "||" gelijk hebben
voorrang in de schil.

In de shell-opdrachttaal kunnen haakjes of accolades worden gebruikt om groepering te bewerkstelligen.

Bij gebruik moeten haakjes worden geëscaped sh; bijvoorbeeld:

proef \( uitdr1 a uitdr2 \) o uitdr3

Deze opdracht is niet altijd draagbaar, zelfs niet op XSI-conforme systemen, afhankelijk van de
uitdrukkingen gespecificeerd door uitdrukken1, uitdrukken2, en uitdrukken3. In plaats daarvan kan het volgende formulier worden gebruikt:

( proef uitdr1 && proef uitdr2 ) || proef uitdr3

De twee commando's:

proef '$ 1'
proef ! '$ 1'

kon op sommige historische systemen niet op betrouwbare wijze worden gebruikt. Er zouden onverwachte resultaten optreden als
zo'n snaar expressie werden gebruikt en $1 uitgebreid naar '!', '(', of een bekende unaire primaire.
Betere constructies zijn:

proef n '$ 1'
proef z '$ 1'

respectievelijk.

Historische systemen zijn ook onbetrouwbaar geweest gezien de gemeenschappelijke constructie:

proef "$reactie" = "verwacht snaar"

Een van de volgende is een betrouwbaardere vorm:

proef "X$reactie" = "Xverwacht snaar"
proef "verwacht snaar" = "$reactie"

Merk op dat het tweede formulier hiervan uitgaat verwacht snaar kon met geen enkele worden verward
unaire primair. Als verwacht snaar begint met '−', '(', '!', of zelfs '=', het eerste formulier
moet in plaats daarvan worden gebruikt. Met behulp van de voorgaande regels zonder de met XSI gemarkeerde extensies, alle
van de drie vergelijkingsformulieren is betrouwbaar, gegeven alle input. (Houd er echter rekening mee dat de
tekenreeksen worden in alle gevallen tussen aanhalingstekens vermeld.)

Omdat de binaire primaire reeksen, '=' en "!=", hebben een hogere prioriteit
dan elke unaire primaire in het geval van meer dan 4 argumenten, kunnen onverwachte resultaten optreden
als argumenten niet goed zijn voorbereid. Bijvoorbeeld in:

proef d $1 o d $2

Als $1 resulteert in een mogelijke mapnaam van '=', de eerste drie argumenten zijn dat wel
beschouwd als een tekenreeksvergelijking, die een syntaxisfout zal veroorzaken wanneer de tweede d is
tegengekomen. Eén van de volgende vormen verhindert dit; de tweede heeft de voorkeur:

proef \( d '$ 1' \) o \( d '$ 2' \)
proef d '$ 1' || proef d '$ 2'

Ook in het geval van meer dan 4 argumenten:

proef '$ 1' = "knuppel" a '$ 2' = "bal"

Er treden syntaxisfouten op als $1 resulteert in '(' or '!'. Een van de volgende vormen verhindert
dit; de derde heeft de voorkeur:

proef "X$1" = "Xbat" a "X$2" = "Xbal"
proef '$ 1' = "knuppel" && proef '$ 2' = "bal"
proef "X$1" = "Xbat" && proef "X$2" = "Xbal"

Voorbeelden


1. Sluit af als er geen twee of drie argumenten zijn (twee varianten):

if [ $# ne 2 ] && [ $# ne 3 ]; harte afrit 1; fi
if [ $# −lt 2 ] || [ $# −gt 3 ]; harte afrit 1; fi

2. Voer een uit mkdir als een map niet bestaat:

proef ! d tempdir && mkdir tempdir

3. Wacht tot een bestand niet meer leesbaar is:

en proef r het bestand
do
slaap 30
gedaan
echo '"het bestand" is geen langer leesbaar'

4. Voer een opdracht uit als het argument een van de drie tekenreeksen is (twee varianten):

if [ '$ 1' = "Peer" ] || [ '$ 1' = "druif" ] || [ '$ 1' = "appel" ]
harte
commando
fi

geval "$ 1" in
peer|druif|appel) commando ;;
hexac

BEWEEGREDENEN


Het van KornShell afgeleide voorwaardelijke commando (dubbele haakjes [[]]) werd uit de schaal verwijderd
commandotaalbeschrijving in een vroeg voorstel. Er werden bezwaren geuit dat de echte
probleem is misbruik van de proef commando ([), en het in de shell plaatsen is de verkeerde manier
het probleem oplossen. In plaats daarvan zijn goede documentatie en een nieuw shell-gereserveerd woord (!) zijn
voldoende.

Tests waarvoor meerdere nodig zijn proef bewerkingen kunnen op shell-niveau worden uitgevoerd met behulp van
individuele aanroepen van de proef commando- en shell-logica's, in plaats van het gebruik van de
foutgevoelig o vlag van proef.

XSI-conforme systemen ondersteunen meer dan vier argumenten.

XSI-conforme systemen ondersteunen het combineren van primaire kleuren met de volgende constructies:

uitdrukking1 a uitdrukking2
Waar als beide uitdrukking1 en uitdrukking2 zijn waar.

uitdrukking1 o uitdrukking2
Waar als er minstens één van is uitdrukking1 en uitdrukking2 zijn waar.

( uitdrukking )
waar als uitdrukking is waar.

Bij het evalueren van deze complexere gecombineerde uitdrukkingen gelden de volgende prioriteitsregels
gebruikt:

* De unaire voorverkiezingen hebben een hogere prioriteit dan de algebraïsche binaire voorverkiezingen.

* De unaire primaire waarden hebben een lagere prioriteit dan de binaire primaire strings.

* De unaire en binaire primaire waarden hebben een hogere prioriteit dan de unaire snaar primair.

* De ! operator heeft een hogere prioriteit dan de a bediener, en de a operator heeft
hogere prioriteit dan de o operator.

* De a en o operators blijven associatief.

* De haakjes kunnen worden gebruikt om de normale prioriteit en associativiteit te wijzigen.

De BSD- en System V-versies van f zijn niet hetzelfde. De BSD-definitie was:

f filet waar als filet bestaat en is geen map.

Hiervoor is gekozen voor de SVID-versie (true als het bestand bestaat en een regulier bestand is).
volume van POSIX.1-2008 omdat het gebruik ervan consistent is met de b, c, den p operanden
(filet bestaat en is een specifiek bestandstype).

De e primair, met een vergelijkbare functionaliteit als die van de C-shell, was
toegevoegd omdat het de enige manier is waarop een shellscript kan achterhalen of een bestand bestaat
zonder te proberen het bestand te openen. Omdat implementaties extra bestanden mogen toevoegen
typen kan een draagbaar script geen gebruik maken van:

proef b foo o c foo o d foo o f foo o p foo

om erachter te komen of foo is een bestaand bestand. Op historische BSD-systemen: het bestaan ​​van een bestand
kan worden bepaald door:

proef f foo o d foo

maar er was geen gemakkelijke manier om vast te stellen dat een bestaand bestand een gewoon bestand was. Een vroege
voorstel gebruikte de KornShell a primair (met dezelfde betekenis), maar dit is gewijzigd in e
omdat er zorgen bestonden over de grote waarschijnlijkheid dat mensen het woord zouden verwarren a primair
met de a binaire operator.

De volgende opties zijn niet opgenomen in deze uitgave van POSIX.1-2008, hoewel ze dat wel zijn
geleverd door sommige implementaties. Deze operanden mogen niet worden gebruikt door nieuwe implementaties
voor andere doeleinden:

k filet waar als filet bestaat en het sticky bit is ingesteld.

C filet waar als filet is een aaneengesloten bestand.

V filet waar als filet is een versiebestand.

De volgende optie was niet opgenomen omdat deze bij de meeste implementaties niet gedocumenteerd was:
is verwijderd uit sommige implementaties (inclusief Systeem V), en de functionaliteit is dat ook
geleverd door de schaal (zie sectie 2.6.2, Parameter Uitbreiding.

l snaar De lengte van het touwtje snaar.

De b, c, g, p, uen x operanden zijn afgeleid van de SVID; historische BSD niet
hen voorzien van. De k operand is afgeleid van Systeem V; historische BSD biedt dit niet.

Op historische BSD-systemen, proef w directory retourneerde altijd false omdat proef geprobeerd om
open de map om te schrijven, wat altijd mislukt.

Enkele extra primaire kleuren die nieuw zijn uitgevonden of uit de KornShell zijn verschenen in een vroeg stadium
voorstel als onderdeel van het voorwaardelijke commando ([[]]): s1 > s2, s1 < s2, str = patroon, str
!= patroon, f1 −nt f2, f1 −niet f2en f1 −ef f2. Ze werden niet meegenomen naar de
proef hulpprogramma toen het voorwaardelijke commando uit de shell werd verwijderd, omdat dat niet het geval is
opgenomen in de proef hulpprogramma ingebouwd in historische implementaties van de sh utility.

De t bestandsbeschrijving primair wordt weergegeven met een verplicht argument omdat de grammatica dat is
dubbelzinnig als het kan worden weggelaten. Historische implementaties hebben het mogelijk gemaakt om het weg te laten,
met een standaardwaarde van 1.

Het is opgevallen dat '[' maakt geen deel uit van de tekenset voor draagbare bestandsnamen; echter sinds het
moet worden gecodeerd door een enkele byte en maakt deel uit van de draagbare tekenset, de
De naam van dit hulpprogramma vormt een tekenreeks voor alle ondersteunde landinstellingen.

TOEKOMST ROUTEBESCHRIJVING


Geen.

Gebruik testposix online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad




×
advertentie
❤️Koop, boek of koop hier — het is gratis, en zo blijven onze diensten gratis.