(return non-directory portion of pathname)
Mit basename können Sie
aus dem Pfadnamen einer Datei den einfachen Dateinamen dieser Datei erzeugen
aus Dateinamen beliebige Endungen entfernen
basename entfernt aus einer beim Aufruf angegebenen Zeichenkette alle Zeichen bis einschließlich des letzten vorkommenden Schrägstrichs /. Den Rest gibt basename auf die Standard-Ausgabe aus. Sie können damit den einfachen Dateinamen einer Datei vom Pfad-Präfix trennen. Wenn Sie beim Aufruf von basename zusätzlich die Endung der Zeichenkette angeben, entfernt basename auch diese Endung. basename findet nützliche Anwendung in Shell-Prozeduren.
Syntax
basename [ zeichenkette[ endung]] |
zeichenkette ist eine beliebige Zeichenkette. basename entfernt aus zeichenkette alle Zeichen bis einschließlich des letzten Schrägstrichs /. Den Rest gibt basename auf die Standard-Ausgabe aus. Zeichenketten, die das Zeichen / nicht enthalten, werden unverändert ausgegeben. zeichenkette nicht angegeben:
endung ist eine beliebige Zeichenkette. Wenn endung mit dem Ende von zeichenkette übereinstimmt, wird zeichenkette ohne endung ausgegeben. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung von basename: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel 1
Aus /home/katharina/programm soll der Name prog erzeugt werden:
|
Beispiel 2
Die folgende Shell-Prozedur übersetzt ein C-Quellprogramm. basename erzeugt den Namen des übersetzten Programms aus dem Dateinamen, der beim Aufruf der Shell-Prozedur übergeben wird. Das übersetzte Programm wird in einer ausführbaren Datei im aktuellen Dateiverzeichnis abgelegt. Die Shell-Prozedur steht in der Datei uebersetze. Inhalt von uebersetze:
Wenn Sie uebersetze wie folgt aufrufen:
wird dem Kommando c89 (Steuerprogramm zum Übersetzen und Binden von C-Programmen, siehe c89 [5]) im Stellungsparameter $1, der Name der C-Quelldatei übergeben. Die Shell ersetzt den Operanden für die Option -o von c89 durch das Ergebnis des Aufrufs von basename. Der Name der ausführbaren Datei ist tab. |
Siehe auch
dirname, ed |