|
|
Zeile 78: |
Zeile 78: |
| </noinclude> | | </noinclude> |
|
| |
|
| = TMP =
| |
| Die Ein- bzw. Ausgabe von Prozessen kann mittels der Prozesssubstitution mit einer FIFO-Datei verbunden werden.
| |
|
| |
| 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.
| |
|
| |
| '''ls <(echo "hello")'''
| |
| /dev/fd/63
| |
|
| |
| Mit Hilfe der Prozesssubstitution könnte man den vi dazu bewegen, die Ausgaben eines Kommandos zu lesen:
| |
|
| |
| '''vi <(ls /boot/vm*)'''
| |
| /boot/vmlinuz
| |
| /boot/vmlinuz.old
| |
| ~
| |
|
| |
| ~
| |
| "/dev/fd/63" [fifo/socket] 2L, 32C
| |
| 1,1 All
| |
|
| |
| Ein weiteres Beispiel dient zur Bestandsaufnahme laufender Prozesse:
| |
|
| |
| '''diff <(ps ax) <(sleep 10; ps ax)'''
| |
| 64d63
| |
| < 2129 pts/0 S 0:00 /bin/bash
| |
| 67,68c66
| |
| < 2132 pts/0 R 0:00 ps ax
| |
| < 2133 pts/0 S 0:00 sleep 10
| |
| ---
| |
| > 2134 pts/1 S 0:00 top
| |
| > 2135 pts/0 R 0:00 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:
| |
|
| |
| '''diff <(tar tzf Buch1.tar.gz) <(tar tzf Buch.tar.gz)'''
| |
| 325a326,328
| |
| > Images/tkinfo.gif
| |
| > Images/GlobaleVariable.gif
| |
| > Images/LokaleVariable.gif
| |
|
| |
| Innerhalb der Klammern >(...), <(...) können Parameter- Kommando- sowie arithmetische Substitutionen benutzt werden.
| |
|
| |
|
| [[Kategorie:Bash/Expansionen]] | | [[Kategorie:Bash/Expansionen]] |
Bash/Prozesssubstitution - Beschreibung
Beschreibung
Installation
Aufruf
Optionen
Unix |
GNU |
Parameter |
Beschreibung
|
|
|
|
|
Parameter
Umgebungsvariablen
Exit-Status
Wert |
Beschreibung
|
0 |
Erfolg
|
>0 |
Fehler
|
Anwendung
Problembehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
- Man-Page
- prep(1)
Links
Projekt
Weblinks