|
|
Der Vollständigkeit halber sei auch diese Substitution beschrieben...
Taucht ein Konstrukt der Art <( Liste ) bzw. >( Liste ) auf, werden die
durch Liste benannten Kommandos in einer Subshell gestartet. Gleichzeitig wird
die Ausgabe (>( ... )) bzw. Eingabe (<( ... )) der Kommandos mit einer
automatisch erzeugten FIFO-Datei verbunden. Auf der Kommandozeile erscheint nach erfolgter Substitution
der Name der erzeugten FIFO-Datei.
user@sonne> ls <(echo "hello") /dev/fd/63
Mit Hilfe der Prozesssubstitution könnte man den vi dazu bewegen, die Ausgaben eines Kommandos zu lesen:
user@sonne> vi <(ls /boot/vm*)
|
Ein weiteres Beispiel (danke Martin;-) dient zur Bestandsaufnahme laufender Prozesse:
user@sonne> diff <(ps ax) <(sleep 10; ps ax)
|
Im Beispiel ist der Prozess top neu hinzugekommen, dass die
Aufrufe der Kommandos ps und sleep erscheinen,
war zu erwarten.
Und abschließend vergleichen wir die Inhalte zweier Archive:
user@sonne> diff <(tar tzf Buch1.tar.gz) <(tar tzf Buch.tar.gz)
|
Innerhalb der Klammern >( ... ), <( ... ) können Parameter-
Kommando- sowie arithmetische Substitutionen benutzt werden.
|
|