Zum Inhalt springen

dirname

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 26. Juli 2019 um 21:45 Uhr durch imported>Gbr5utbghortzhuthbt (Änderungen von 2003:CA:4F3F:4701:3455:761D:F35B:1A6A (Diskussion) auf die letzte Version von Messerjokke79 zurückgesetzt).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

dirname ist ein Unix-Programm und ein Teil des POSIX-Standards. Es gibt von einem Dateipfad das Verzeichnis aus. Der Gegensatz zu dirname ist das Programm basename.

Anwendungsbeispiele

<syntaxhighlight lang="shell-session"> $ dirname /home/alice/bild.jpg

 /home/alice

$ dirname /home/alice/

 /home

</syntaxhighlight>

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 der Skriptprogrammierung.

Bibliotheksfunktion

POSIX enthält dirname auch als Funktion in der Programmiersprache C. In der Header-Datei libgen.h ist diese wie folgt deklariert:

<syntaxhighlight lang="c">

  1. include <libgen.h>

char *dirname(char *path); </syntaxhighlight>

Rückgabewert ist der Teil von path bis vor das letzte Pfadtrennzeichen /. Falls path keinen Trenner / enthält, eine leere Zeichenkette oder ein NULL-Pointer ist, gibt die Funktion einen Punkt . als Pfad für das aktuelle Verzeichnis zurück. Besteht der Pfad nur aus / ist dies auch das Ergebnis der Funktion. Da dirname einen Pointer auf einen Teil von (dem möglicherweise veränderten) path oder einen statisch belegten Speicherbereich zurückgibt, wird empfohlen, die Funktion mit einer Kopie des Pfades aufzurufen.

Weblinks

<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang

Dateien

chgrp | chown | chmod | cp | dd | df | dir | dircolors | install | ln | ls | mkdir | mkfifo | mknod | mv | rm | rmdir | shred | sync | touch | vdir

Text

awk | cat | cksum | comm | csplit | cut | expand | fmt | fold | head | join | md5sum | nl | od | paste | ptx | pr | sha1sum | sed | sort | split | sum | tac | tail | tr | tsort | unexpand | uniq | wc

Shell

basename | chroot | date | dirname | du | echo | env | expr | factor | false | groups | hostid | id | link | logname | nice | nohup | pathchk | pinky | printenv | printf | pwd | readlink | seq | sleep | stat | stty | tee | test | true | tty | uname | unlink | users | who | whoami | yes

Vorlage:Klappleiste/Ende