basename
basenameist einUnix-Programm und ein Teil desPOSIX-Standards. Es gibt aus einemPfadnamendenDateinamenohne führende Verzeichnisnamen aus. Wird einSuffixangegeben, das mit derDateiendungübereinstimmt, wird auch das Suffix entfernt.
Anwendungsbeispiele
[Bearbeiten|Quelltext bearbeiten]$basename/home/alice/bild.jpg
bild.jpg
$basename/home/alice/bild.jpg.jpg
bild
Mag die Funktion des alleinstehenden Programms auf den ersten Blick zunächst trivial erscheinen, so ist es dennoch von großem Nutzen zur Erledigung von Teilaufgaben im Rahmen derSkriptprogrammierung.
Bibliotheksfunktion
[Bearbeiten|Quelltext bearbeiten]POSIX enthält basename auch als Funktion in derProgrammiersprache C.In derHeader-Dateilibgen.h
ist diese wie folgt deklariert:
#include<libgen.h>
char*basename(char*path);
Rückgabewert ist der Teil vonpath
nach dem letzten Pfadtrennzeichen/
.In der POSIX-Variante ist dies entweder ein Pointer auf das dem letzten Trenner/
folgende Zeichen oder ein Punkt.
,fallspath
leer oderNULL
ist. Dieglibc-Variante gibt eine leere Zeichenkette zurück, fallspath
mit einem/
endet oder nur daraus besteht. In beiden Implementierungen kann ein Pointer auf einen Teil vonpath
oder einen statisch belegten Speicherbereich zurückgegeben werden, weshalb empfohlen wird, die Funktion mit einer Kopie des Pfades aufzurufen.
Siehe auch
[Bearbeiten|Quelltext bearbeiten]- dirnameerzeugt den (komplementären) Pfadbiszum letzten Trenner
/
.
Weblinks
[Bearbeiten|Quelltext bearbeiten]basename
:return non-directory portion of a pathname –Open GroupBase Specificationbasename(1)
:return filename portion of pathname –OpenBSDGeneral CommandsManualbasename(1)
:Verzeichnis und Suffix von Dateinamen entfernen –Debian GNU/LinuxAusführbare Programme oder Shell-BefehleHandbuchseite- basename(3) – extract the base portion of a pathname.OpenBSD,abgerufen am 5. Dezember 2014(englisch).
- basename(3): parse pathname components.Debian GNU/Linux,abgerufen am 5. Dezember 2014(englisch).