Bash/Prozesssubstitution: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
|||
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 | ||
'''{{BASEPAGENAME}}''' - Beschreibung | |||
== Beschreibung == | == Beschreibung == | ||
In | |||
== Installation == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /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> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options big" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
[[Kategorie:Bash/Expansionen]] | |||
</noinclude> | |||
= TMP = | |||
== Beschreibung == | |||
In ''Liste'' genannter Kommandos in einer Subshell starten | |||
; Aufruf | ; Aufruf | ||
<syntaxhighlight lang="bash" highlight="1-2" line> | <syntaxhighlight lang="bash" highlight="1-2" line> | ||
Zeile 134: | Zeile 210: | ||
</noinclude> | </noinclude> | ||
Version vom 13. Oktober 2025, 09:44 Uhr
Bash/Prozesssubstitution - Ein-/Ausgabe von Prozessen mit einer FIFO-Datei verbinden Bash/Prozesssubstitution - Beschreibung
Beschreibung
Installation
< /syntaxhighlight>
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
< /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>
=== Problembehebung ===
== Konfiguration ==
=== Dateien ===
{| class="wikitable options big"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
=== Dokumentation ===
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
; Info-Pages
-->
=== Links ===
==== Projekt ====
==== Weblinks ====
[[Kategorie:Bash/Expansionen]]
</noinclude>
= TMP =
== Beschreibung ==
In ''Liste'' genannter Kommandos in einer Subshell starten
; Aufruf
<syntaxhighlight lang="bash" highlight="1-2" line>
<(Liste)
>(Liste)
- 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
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks