dirname(1p): Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= dirname(1p) – Linux manualsida = == Prolog == Den här manualsidan är en del av '''POSIX Programmer's Manual'''. Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux. == Namn == '''dirname''' – returnera katalogdelen av en sökväg. == Synopsis == <pre> dirname sträng </pre> == Beskrivning == Operanden ''sträng'' ska b...')
 
Rad 1: Rad 1:
= dirname(1p) – Linux manualsida =
== Prolog ==
== Prolog ==



Versionen från 6 maj 2026 kl. 09.49

Prolog

Den här manualsidan är en del av POSIX Programmer's Manual.

Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.

Namn

dirname – returnera katalogdelen av en sökväg.

Synopsis

dirname sträng

Beskrivning

Operanden sträng ska behandlas som en sökväg, enligt definitionen i POSIX.1-2017, Base Definitions, avsnitt 3.271, Pathname.

Strängen sträng ska omvandlas till namnet på katalogen som innehåller filnamnet som motsvarar den sista sökvägskomponenten i sträng. Detta görs genom åtgärder motsvarande följande steg, i ordning:

  1. Om sträng är //, hoppa över steg 2 till 5.
  2. Om sträng enbart består av snedstreck, ska sträng sättas till ett enda snedstreck. I detta fall hoppar man över steg 3 till 8.
  3. Om det finns avslutande snedstreck i sträng, ska de tas bort.
  4. Om det inte finns några snedstreck kvar i sträng, ska sträng sättas till en enda punkt. I detta fall hoppar man över steg 5 till 8.
  5. Om det finns avslutande tecken som inte är snedstreck i sträng, ska de tas bort.
  6. Om den återstående sträng är //, är det implementationsdefinierat om steg 7 och 8 hoppas över eller utförs.
  7. Om det finns avslutande snedstreck i sträng, ska de tas bort.
  8. Om den återstående sträng är tom, ska sträng sättas till ett enda snedstreck.

Den resulterande strängen ska skrivas till standardutmatning.

Flaggor

Inga.

Operander

Följande operand ska stödjas:

sträng
En sträng.

Standardinmatning

Används inte.

Indatafiler

Inga.

Miljövariabler

Följande miljövariabler ska påverka körningen av dirname:

LANG
Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.
Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
LC_ALL
Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument.
LC_MESSAGES
Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel.
NLSPATH
Bestämmer platsen för meddelandekataloger vid bearbetning av LC_MESSAGES.

Asynkrona händelser

Standardbeteende.

Standardutmatning

Verktyget dirname ska skriva en rad till standardutmatning med följande format:

"%s\n", <resulterande sträng>

Standardfel

Standardfel ska endast användas för diagnostiska meddelanden.

Utdatafiler

Inga.

Utökad beskrivning

Ingen.

Avslutningsstatus

Följande avslutningsvärden ska returneras:

0
Lyckad körning.
>0
Ett fel inträffade.

Följder av fel

Standardbeteende.

Följande avsnitt är informativa.

Programanvändning

Definitionen av sökväg anger implementationsdefinierat beteende för sökvägar som börjar med två snedstreck.

Därför ska program inte godtyckligt lägga till snedstreck i början av en sökväg, om de inte kan säkerställa att det finns fler eller färre än två snedstreck, eller är beredda att hantera de implementationsdefinierade följderna.

Exempel

Avsnittet Examples för funktionen basename(), se POSIX.1-2017, System Interfaces, basename(3p), innehåller en tabell som visar exempel på resultatet av att bearbeta flera exempelsökvägar med funktionerna basename() och dirname() samt verktygen basename och dirname.

Se även exemplen för verktyget basename.

Bakgrund

Beteendet hos basename och dirname i denna volym av POSIX.1-2017 har samordnats så att när sträng är en giltig sökväg:

$(basename -- "sträng")

skulle vara ett giltigt filnamn för filen i katalogen:

$(dirname -- "sträng")

Detta fungerade inte för versionerna av dessa verktyg i tidiga förslag på grund av hur behandling av avslutande snedstreck specificerades.

Man övervägde att lämna behandlingen ospecificerad om det fanns avslutande snedstreck, men detta kan inte göras. POSIX.1-2017, Base Definitions, avsnitt 3.271, Pathname, tillåter avslutande snedstreck.

Verktygen basename och dirname måste specificera konsekvent hantering för alla giltiga sökvägar.

Framtida riktning

Ingen.

Se även

  • POSIX.1-2017, avsnitt 2.5, Parameters and Variables
  • basename(1p)
  • POSIX.1-2017, Base Definitions, avsnitt 3.271, Pathname
  • POSIX.1-2017, Base Definitions, kapitel 8, Environment Variables
  • POSIX.1-2017, System Interfaces, basename(3p)
  • POSIX.1-2017, System Interfaces, dirname(3p)

Upphovsrätt

Delar av denna text är återgivna och reproducerade i elektronisk form från:

  • IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX)
  • The Open Group Base Specifications Issue 7, 2018 Edition

Copyright © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.

Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.

Den ursprungliga standarden kan hämtas online från:

Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.

För att rapportera sådana fel, se:


Sidor som hänvisar till denna sida

  • basename(1p)
  • dirname(3p)