Bash/Prozesssubstitution: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
In | In ''Liste'' genannter Kommandos in einer Subshell starten | ||
== Installation == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
</syntaxhighlight> | |||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1-2" line> | <syntaxhighlight lang="bash" highlight="1-2" line> | ||
<(Liste) | <(Liste) | ||
Zeile 9: | Zeile 14: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Optionen === | |||
{| class="wikitable sortable options gnu big" | |||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| || || || | |||
|- | |||
|} | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
{| class="wikitable options col1center big" | |||
|- | |||
! Wert !! Beschreibung | |||
|- | |||
| 0 || Erfolg | |||
|- | |||
| >0 || Fehler | |||
|} | |||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
</syntaxhighlight> | |||
; Ein-/Ausgabe | ; Ein-/Ausgabe | ||
Audgabe | Audgabe | ||
(>(...)) | (>(...)) | ||
Eingabe | Eingabe | ||
(<(...)) | (<(...)) | ||
der Kommandos mit einer automatisch erzeugten FIFO-Datei verbunden | der Kommandos mit einer automatisch erzeugten FIFO-Datei verbunden | ||
Zeile 67: | 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 128: | 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