Dit is de opdracht basenameposix 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
basename - retourneer niet-directorygedeelte van een padnaam
KORTE INHOUD
basisnaam snaar [achtervoegsel]
PRODUCTBESCHRIJVING
De snaar operand wordt behandeld als een padnaam, zoals gedefinieerd in de basisdefinities
volume van POSIX.1‐2008, sectie 3.267, Padnaam. De snaar snaar worden omgezet naar
de bestandsnaam die overeenkomt met de laatste padnaamcomponent in snaar en dan het achtervoegsel
snaar achtervoegsel, indien aanwezig, worden verwijderd. Dit zal gebeuren door het uitvoeren van acties
gelijk aan de volgende stappen in volgorde:
1. Als snaar is een null-tekenreeks, het is niet gespecificeerd of de resulterende tekenreeks dat is '' or
een null-tekenreeks. Sla in beide gevallen stap 2 tot en met 6 over.
2. Als snaar is "//", wordt door de implementatie bepaald of de stappen 3 tot en met 6 worden overgeslagen of
verwerkt.
3. Als snaar geheel uit bestaat karakters, snaar worden op één gezet
karakter. Sla in dit geval stap 4 tot en met 6 over.
4. Als er achterstanden zijn karakters erin snaar, worden ze verwijderd.
5. Als die er zijn resterende karakters snaar, het voorvoegsel van snaar tot
en inclusief de laatste karakter erin snaar worden verwijderd.
6. Indien de achtervoegsel operand aanwezig is, is niet identiek aan de resterende karakters
snaar, en is identiek aan een achtervoegsel van de resterende tekens snaar, het achtervoegsel
achtervoegsel van worden verwijderd snaar. Anders, snaar wordt niet gewijzigd door deze stap.
Het wordt niet als een fout beschouwd als achtervoegsel wordt niet gevonden in snaar.
De resulterende tekenreeks wordt naar de standaarduitvoer geschreven.
OPTIES
Geen.
OPERANDEN
De volgende operanden worden ondersteund:
snaar Een draad.
achtervoegsel Een draad.
STDIN
Niet gebruikt.
INVOER FILES
Geen.
MILIEU VARIABELEN
De volgende omgevingsvariabelen zijn van invloed op de uitvoering van: basisnaam:
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
De basisnaam hulpprogramma schrijft een regel naar de standaarduitvoer in het volgende formaat:
"%s\n", <verkregen snaar>
STDERR
De standaardfout wordt alleen gebruikt voor diagnostische berichten.
OUTPUT FILES
Geen.
UITGEBREID PRODUCTBESCHRIJVING
Geen.
EXIT STATUS
De volgende exit-waarden worden geretourneerd:
0 Succesvolle afronding.
>0 Er is een fout opgetreden.
GEVOLGEN OF FOUTEN
Standaard.
De volgend secties zijn informatief.
TOEPASSING GEBRUIK
De definitie van padnaam specificeert door de implementatie gedefinieerd gedrag voor padnamen
beginnend met twee karakters. Aanvragen mogen daarom niet willekeurig toevoegen
tekens toe aan het begin van een padnaam, tenzij ze ervoor kunnen zorgen dat die er zijn
meer of minder dan twee of bereid zijn om te gaan met de gedefinieerde uitvoering
gevolgen.
Voorbeelden
Als de tekenreeks snaar is een geldige padnaam:
$(basisnaam -- "snaar")
produceert een bestandsnaam die kan worden gebruikt om het bestand met de naam te openen snaar in de directory
geretourneerd door:
$(naam -- "snaar")
Als de tekenreeks snaar geen geldige padnaam is, wordt hetzelfde algoritme gebruikt, maar het resultaat
hoeft geen geldige bestandsnaam te zijn. De basisnaam van het hulpprogramma wordt niet verwacht dat het een oordeel velt
over de geldigheid van snaar als padnaam; het volgt gewoon het opgegeven algoritme naar
een resultaatreeks produceren.
Het volgende shellscript wordt gecompileerd /usr/src/cmd/cat.c en verplaatst de uitvoer naar een bestand
genoemd hoe in de huidige map wanneer aangeroepen met het argument /usr/src/cmd/cat of
het argument /usr/src/cmd/cat.c:
c99 -- "$(naam -- "$1")/$(basisnaam -- '$ 1' .c).c" &&
mv a.out "$(basisnaam -- '$ 1' .C)"
BEWEEGREDENEN
Het gedrag van basisnaam en zeg eens zijn zo gecoördineerd dat wanneer snaar is een geldig
padnaam:
$(basisnaam -- "snaar")
zou een geldige bestandsnaam zijn voor het bestand in de directory:
$(naam -- "snaar")
Dit zou vanwege de manier waarop het werkt niet werken voor de vroege voorstelversies van deze hulpprogramma's
gespecificeerde afhandeling van achterstand karakters.
Sinds de definitie van padnaam specificeert door de implementatie gedefinieerd gedrag voor padnamen
beginnend met twee karakters, specificeert dit deel van POSIX.1-2008 vergelijkbaar
implementatiegedefinieerd gedrag voor de basisnaam en zeg eens nutsbedrijven.
TOEKOMST ROUTEBESCHRIJVING
Geen.
Gebruik basenameposix online met behulp van onworks.net-services