Bash/Prozesssubstitution: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
|||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Bash/Prozesssubstitution''' - Ein-/Ausgabe von Prozessen mit einer FIFO-Datei verbinden | '''Bash/Prozesssubstitution''' - Ein-/Ausgabe von Prozessen mit einer FIFO-Datei verbinden | ||
== Beschreibung == | == Beschreibung == | ||
In ''Liste'' genannter Kommandos in einer Subshell starten | |||
== Installation == | == Installation == | ||
Zeile 9: | Zeile 9: | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line | <syntaxhighlight lang="bash" highlight="1-2" line> | ||
<(Liste) | |||
>(Liste) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 36: | Zeile 38: | ||
<syntaxhighlight lang="bash" highlight="1" line copy> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Ein-/Ausgabe | ; Ein-/Ausgabe | ||
Audgabe | Audgabe | ||
Zeile 143: | Zeile 96: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
können Parameter- Kommando- sowie arithmetische Substitutionen benutzt werden | können Parameter- Kommando- sowie arithmetische Substitutionen benutzt werden | ||
=== Problembehebung === | === Problembehebung === | ||
Zeile 204: | Zeile 132: | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
[[Kategorie:Bash/Expansionen]] | |||
[[Kategorie: | |||
</noinclude> | </noinclude> |
Aktuelle Version vom 13. Oktober 2025, 09:50 Uhr
Bash/Prozesssubstitution - Ein-/Ausgabe von Prozessen mit einer FIFO-Datei verbinden
Beschreibung
In Liste genannter Kommandos in einer Subshell starten
Installation
Aufruf
<(Liste)
>(Liste)
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
- Ein-/Ausgabe
Audgabe
(>(...))
Eingabe
(<(...))
der Kommandos mit einer automatisch erzeugten FIFO-Datei verbunden
- FIFO-Datei
Auf der Kommandozeile erscheint nach erfolgter Substitution der Name der erzeugten FIFO-Datei
ls <(echo "hello")
/dev/fd/63
- Beispiel
Mithilfe 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
- 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
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks