basename(1p): Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= basename(1p) = == PROLOG == Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig från POSIX (se motsvarande Linux-manualsida för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat på Linux. == NAMN == '''basename''' — returnera den del av en sökväg som inte är katalogdel == SYNOPSIS == <pre> basename sträng [suffix] </pre> == BESKRIVNING == Operanden ''strä...')
 
 
Rad 1: Rad 1:
= basename(1p) =
== PROLOG ==
== PROLOG ==


Rad 218: Rad 216:
till manualsidesformat. För att rapportera sådana fel, se
till manualsidesformat. För att rapportera sådana fel, se
https://www.kernel.org/doc/man-pages/reporting_bugs.html .
https://www.kernel.org/doc/man-pages/reporting_bugs.html .


= Sidslut =
= Sidslut =

Nuvarande version från 25 april 2026 kl. 10.59

PROLOG

Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig från POSIX (se motsvarande Linux-manualsida för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat på Linux.

NAMN

basename — returnera den del av en sökväg som inte är katalogdel

SYNOPSIS

basename sträng [suffix]

BESKRIVNING

Operanden sträng ska behandlas som en sökväg enligt definitionen i Base Definitions-volymen av POSIX.1-2017, Section 3.271, Pathname. Strängen sträng ska omvandlas till filnamnet som motsvarar den sista sökvägskomponenten i sträng, och därefter ska suffixsträngen suffix, om den finns, tas bort. Detta ska göras genom att utföra åtgärder som motsvarar följande steg i ordning:

  1. Om sträng är en nullsträng är det ospecificerat om den resulterande strängen är '.' eller en nullsträng. I båda fallen hoppas steg 2 till 6 över.
  2. Om sträng är "//" är det implementationsdefinierat om steg 3 till 6 hoppas över eller utförs.
  3. Om sträng enbart består av <slash>-tecken ska sträng sättas till ett enda <slash>-tecken. I detta fall hoppas steg 4 till 6 över.
  4. Om det finns avslutande <slash>-tecken i sträng ska de tas bort.
  5. Om det fortfarande finns några <slash>-tecken kvar i sträng ska prefixet av sträng, fram till och med det sista <slash>-tecknet i sträng, tas bort.
  6. Om operanden suffix finns, inte är identisk med de tecken som återstår i sträng, och är identisk med ett suffix till de tecken som återstår i sträng, ska suffixet suffix tas bort från sträng. I annat fall ändras inte sträng av detta steg. Det ska inte betraktas som ett fel om suffix inte hittas i sträng.

Den resulterande strängen ska skrivas till standard ut.

FLAGGOR

Inga.

OPERANDER

Följande operander stöds:

sträng
En sträng.
suffix
En sträng.

STDIN

Används inte.

INDATAFILER

Inga.

MILJÖVARIABLER

Följande miljövariabler påverkar körningen av basename:

LANG
Ger ett standardvärde för de internationaliseringsvariabler som är osatta eller null. (Se Base Definitions-volymen i POSIX.1-2017, Section 8.2, Internationalization Variables, för prioritetsordningen för internationaliseringsvariabler som används för att bestämma värdena för lokalkategorier.)
LC_ALL
Om satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
Bestämmer lokalen för tolkning av byteföljder av textdata som tecken (till exempel enbyte- kontra flerbytetecken i argument).
LC_MESSAGES
Bestämmer den lokal som ska användas för att påverka format och innehåll i diagnostiska meddelanden som skrivs till standard fel.
NLSPATH
Bestämmer platsen för meddelandekataloger för bearbetning av LC_MESSAGES.

ASYNKRONA HÄNDELSER

Standard.

STDOUT

Verktyget basename ska skriva en rad till standard ut i följande format:

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

STDERR

Standard fel 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.

KONSEKVENSER AV FEL

Standard.

Följande avsnitt är informativa.

ANVÄNDNING

Definitionen av pathname anger implementationsdefinierat beteende för sökvägar som börjar med två <slash>-tecken. Därför bör program inte godtyckligt lägga till <slash>-tecken i början av en sökväg om de inte kan säkerställa att de är fler eller färre än två, eller är beredda att hantera de implementationsdefinierade konsekvenserna.

EXEMPEL

Om strängen sträng är en giltig sökväg:

$(basename -- "sträng")

ger detta ett filnamn som kan användas för att öppna filen med namnet sträng i katalogen som returneras av:

$(dirname -- "sträng")

Om strängen sträng inte är en giltig sökväg används samma algoritm, men resultatet behöver inte vara ett giltigt filnamn. Verktyget basename förväntas inte göra någon bedömning av om sträng är en giltig sökväg; det följer bara den specificerade algoritmen för att producera en resultatsträng.

Följande skalskript kompilerar /usr/src/cmd/cat.c och flyttar utdata till en fil med namnet cat i aktuell katalog när det anropas med argumentet /usr/src/cmd/cat eller med argumentet /usr/src/cmd/cat.c:

c99 -- "$(dirname -- "$1")/$(basename -- "$1" .c).c" &&
mv a.out "$(basename -- "$1" .c)"

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

MOTIVERING

Beteendena för basename och dirname har samordnats så att när sträng är en giltig sökväg:

$(basename -- "sträng")

ska detta vara ett giltigt filnamn för filen i katalogen:

$(dirname -- "sträng")

Detta skulle inte ha fungerat för tidiga förslagsversioner av dessa verktyg på grund av hur de specificerade hanteringen av avslutande <slash>-tecken.

Eftersom definitionen av pathname anger implementationsdefinierat beteende för sökvägar som börjar med två <slash>-tecken, anger denna volym av POSIX.1-2017 liknande implementationsdefinierat beteende för verktygen basename och dirname.

FRAMTIDA RIKTNINGAR

Inga.

SE ÄVEN

Section 2.5, Parameters and Variables, dirname(1p)

Base Definitions-volymen av POSIX.1-2017, Section 3.271, Pathname, Chapter 8, Environment Variables

System Interfaces-volymen av POSIX.1-2017, basename(3p), dirname(3p)

UPPHOVSRÄTT

Delar av denna text återges och reproduceras 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 (C) 2018 av Institute of Electrical and Electronics Engineers, Inc och The Open Group. Vid varje avvikelse mellan denna version och den ursprungliga standarden från IEEE och The Open Group är den ursprungliga standarden från IEEE och The Open Group det styrande dokumentet. Originalstandarden kan erhållas online på http://www.opengroup.org/unix/online.html .

Eventuella typografiska eller formateringsfel som förekommer på denna sida har troligen introducerats under konverteringen av källfilerna till manualsidesformat. För att rapportera sådana fel, se https://www.kernel.org/doc/man-pages/reporting_bugs.html .

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/basename.1p.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC Service som har sponsrat Linux.se med webbhotell.