Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Sonderzeichen der POSIX-Shell

&pagelevel(3)&pagelevel

Argument- und Kommando-Trennzeichen

Sonderzeichen

Bedeutung

Leerzeichen
Neue-Zeile-Zeichen
Tabulatorzeichen

Argument-Trenner, abhängig vom Inhalt der Variablen IFS

Neue-Zeile-Zeichen

Kommando-Abschluss

|

Pipe-Zeichen

;

Kommando-Abschluss

&

Kommando-Abschluss; das so abgeschlossene Kommando wird im
Hintergrund gestartet

||

ORIF; das nachfolgende Kommando wird nur ausgeführt, wenn das
vorausgehende Kommando einen Ende-Status ungleich 0 zurückgibt

&&

ANDIF; das nachfolgende Kommando wird nur ausgeführt, wenn das
vorausgehende Kommando als Ende-Status 0 zurückgibt

Kommandos klammern

Sonderzeichen

Bedeutung

(kommando_folge)

kommando_folge in einer Subshell ausführen

{ kommando_folge;}

Ausgaben aller Kommandos aus kommando_folge
zusammenfassen

Kommando ausführen und durch Ausgabe ersetzen

Sonderzeichen

Bedeutung

`kommando`

durch die Ausgabe von kommando ersetzen

$(kommando)

durch die Ausgabe von kommando ersetzen

Argumente durch passende Dateinamen ersetzen

Sonderzeichen

Bedeutung

*

Als eigenständiges Muster:
wird ersetzt durch die Liste aller Dateinamen im aktuellen Dateiverzeichnis,
die nicht mit einem Punkt . beginnen.

Als Bestandteil eines Musters:
wird ersetzt durch kein, ein oder mehrere Zeichen entsprechend den
Dateinamen, zu denen das Muster passt.

?

Als eigenständiges Muster:
wird ersetzt durch die Liste aller Dateinamen im aktuellen Dateiverzeichnis,
die aus genau einem Zeichen bestehen, allerdings nicht durch einen Punkt.

Als Bestandteil eines Musters:
wird ersetzt durch genau ein Zeichen entsprechendden Dateinamen, zu
denen das Muster passt.

[s]

wird ersetzt durch genau eines der Zeichen, die in der Zeichenkette s enthalten
sind, entsprechend den Dateinamen, zu denen das Muster passt.

[c1-c2]

wird ersetzt durch genau ein Zeichen aus dem Bereich von c1 bis c2 (Grenzen
c1 und c2 eingeschlossen), entsprechend den Dateinamen, zu denen das Muster
passt.
c1 und c2 müssen einfache Zeichen sein.
Welche Zeichen im Bereich c1-c2 enthalten sind, hängt von der
EBCDIC-Sortierreihenfolge ab.
Eine Kombination der Ausdrücke [s] und [c1-c2] ist möglich: [s1c1-c2s2]

[!s]

wird ersetzt durch genau eines der Zeichen, die nicht in der Zeichenkette s
enthalten sind, entsprechend den Dateinamen, zu denen das Muster passt.

[!c1-c2]

wird ersetzt durch genau ein Zeichen, das nicht im Bereich von c1 bis c2 liegt,
entsprechend den Dateinamen, zu denen das Muster passt (siehe [c1-c2]).
Eine Kombination der Ausdrücke [!s] und [!c1-c2] ist möglich: [!s1c1-c2s2]

Standard-Ausgabe umlenken

Sonderzeichen

Bedeutung

[n]> datei

Standard-Ausgabe [oder Filedeskriptor n] auf datei umlenken; alter Inhalt wird
gelöscht

[n]>> datei

Standard-Ausgabe [oder Filedeskriptor n] auf datei umlenken; alter Inhalt bleibt
erhalten

[n]> &zahl

Standard-Ausgabe [oder Filedeskriptor n] auf die Datei umlenken, der die
Dateikennzahl
zahl zugeordnet ist

[n]> &-

Standard-Ausgabe [oder Filedeskriptor n] schließen

Standard-Eingabe umlenken

Sonderzeichen

Bedeutung

[n] <datei

Standard-Eingabe [oder Filedeskriptor n] auf datei umlenken

[n] <<argument

Here-Dokument einleiten oder auf Filedeskriptor n umlenken

[n] <<-argument

Here-Dokument einleiten oder auf Filedeskriptor n umlenken; führende
Tabulator-Zeichen werden entfernt

[n] <&zahl

Standard-Eingabe auf die Datei oder auf Filedeskriptor n umlenken, der die
Dateikennzahl zahl zugeordnet ist

[n] <&-

Standard-Eingabe oder Filedeskriptor n schließen

[n] <>datei

datei [oder Filedeskriptor n] wird zum Lesen und Schreiben als Standard-Eingabe
geöffnet

Shell-Variablen und -Parameter

Sonderzeichen

Bedeutung

name=wert

der Variablen name einen Wert zuweisen

$name

Wert der Variablen name; Schlüsselwort-Parameter

${name}

wie $name; die geschweiften Klammern grenzen den Variablennamen
von nachfolgenden Ziffern bzw. Buchstaben ab

${name-standard_wert}

Ersetzung durch standard_wert, falls Variable name nicht definiert

${name=standard_wert}

Zuweisung von standard_wert, falls Variable name nicht definiert

${name?standard_wert}

Shell bricht Ausführung ab mit der Fehlermeldung
parameter : standard_wert, falls name nicht definiert

${name+standard_wert}

Ersetzung durch die leere Zeichenkette, falls name nicht definiert
Ersetzung durch standard_wert, falls name definiert

${name:-standard_wert}

Ersetzung durch standard_wert, falls Variable name nicht definiert
oder ihr Wert die leere Zeichenkette ist

${name:=standard_wert}

Zuweisung von standard_wert, falls Variable name nicht definiert oder
ihr Wert die leere Zeichenkette ist

${name:?standard_wert}

Shell bricht Ausführung ab mit der Fehlermeldung
parameter : standard_wert, falls name nicht definiert oder ihr Wert die
leere Zeichenkette ist

${name:+standard_wert}

Ersetzung durch die leere Zeichenkette, falls name nicht definiert
oder ihr Wert die leere Zeichenkette ist
Ersetzung durch standard_wert, falls name definiert und ihr Wert nicht
die leere Zeichenkette ist

${#name}

Ersetzung durch die Länge der Zeichenkette, die name bildet. Ist
name eines der Zeichen Stern * oder Klammeraffe @, dann ist die
Ersetzung undefiniert.

${name%muster}

Passt das POSIX-Shell-Muster muster auf das Ende des Wertes von
name, dann wird der Ersetzungstext aus dem Wert von name ohne
den gelöschten auf muster passenden Teil gebildet. Es wird das
kürzeste passende Muster gelöscht.

${name%%muster}

Passt das POSIX-Shell-Muster muster auf das Ende des Wertes von
name, dann wird der Ersetzungstext aus dem Wert von name ohne
den gelöschten auf muster passenden Teil gebildet. Es wird das
längste passende Muster gelöscht.

${name#muster}

Sollte das POSIX-Shell-Muster muster auf den Anfang des Wertes
von name passen, dann besteht der Ersetzungstext aus dem Wert
von name, aus dem der, auf muster passende, Teil gelöscht wurde.
Sonst wird der Wert von name eingesetzt. Es wird das kürzeste
passende Muster gelöscht.

${name##muster}

Sollte das POSIX-Shell-Muster muster auf den Anfang des Wertes
von name passen, dann besteht der Ersetzungstext aus dem Wert
von name, aus dem der, auf muster passende, Teil gelöscht wurde.
Sonst wird der Wert von name eingesetzt. Es wird das längste
Auftreten des Musters gelöscht.

$0

1. Argument des Aufrufs, also Name des Kommandos,
der Shell-Prozedur bzw. der aktuellen Shell

$1, $2, ... , $9

Stellungsparameter

$*
"$*"

alle Aufruf-Argumente
alle Aufruf-Argumente als ein einziges Argument

$@
"$@"

alle Aufruf-Argumente
alle Aufruf-Argumente als eigenständige Argumente

$#

Anzahl Aufruf-Argumente, also ohne $0

$$

Prozessnummer (PID) der aktuellen Shell

$!

Prozessnummer (PID) des zuletzt im Hintergrund gestarteten
Kommandos

$?

Ende-Status des zuletzt ausgeführten Kommandos, das nicht im
Hintergrund gestartet wurde

$-

alle in der aktuellen Shell gesetzten Optionen

Shell-Funktionen

Sonderzeichen

Bedeutung

name() { kommando_folge;}

Shell-Funktion; bei Aufruf von name werden
die Kommandos aus kommando_folge ausgeführt

Sonderzeichen entwerten

Sonderzeichen

Bedeutung

\

'...'

"..."

entwertet das nachfolgende Sonderzeichen

entwertet alle Sonderzeichen; ein einziges Argument

entwertet nicht die Sonderzeichen $ ` ...` \
ein einziges Argument

Sonstiges

Sonderzeichen

Bedeutung

#

;;

Kommentar-Zeichen in Shell-Prozeduren

Abschluss für Kommandofolgen innerhalb einer case-Anweisung

~
~-
~+

Tildeersetzung

(( ))
$((expression))

Arithmetische Berechnungen

[[ ]]

Bedingte Ausdrücke