Zum Inhalt springen

Bash/Prozesssubstitution: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „ “ durch „ “
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
In der Liste genannter Kommandos in einer Subshell starten
In ''Liste'' genannter Kommandos in einer Subshell starten
; Aufruf
 
== 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
Zeile 31: Zeile 60:
  /boot/vmlinuz.old
  /boot/vmlinuz.old
  ~
  ~
 
  ~
  ~
  "/dev/fd/63" [fifo/socket] 2L, 32C
  "/dev/fd/63" [fifo/socket] 2L, 32C
                                        1,1           All
                    1,1     All
</syntaxhighlight>
</syntaxhighlight>


Zeile 41: Zeile 70:
diff <(ps ax) <(sleep 10; ps ax)
diff <(ps ax) <(sleep 10; ps ax)
  64d63
  64d63
  < 2129 pts/0   S     0:00 /bin/bash
  < 2129 pts/0 S   0:00 /bin/bash
  67,68c66
  67,68c66
  < 2132 pts/0   R     0:00 ps ax
  < 2132 pts/0 R   0:00 ps ax
  < 2133 pts/0   S     0:00 sleep 10
  < 2133 pts/0 S   0:00 sleep 10
  ---
  ---
  > 2134 pts/1   S     0:00 top
  > 2134 pts/1 S   0:00 top
  > 2135 pts/0   R     0:00 ps ax
  > 2135 pts/0 R   0:00 ps ax
</syntaxhighlight>
</syntaxhighlight>


Zeile 67: Zeile 96:
</syntaxhighlight>
</syntaxhighlight>
können Parameter- Kommando- sowie arithmetische Substitutionen benutzt werden
können Parameter- Kommando- sowie arithmetische Substitutionen benutzt werden
=== 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 ===
=== Problembehebung ===
Zeile 128: Zeile 132:
==== Weblinks ====
==== Weblinks ====


{{DEFAULTSORT:new}}
[[Kategorie:Bash/Expansionen]]
{{DISPLAYTITLE:new}}
 
[[Kategorie:new]]


</noinclude>
</noinclude>
[[Kategorie:Bash/Expansionen]]

Aktuelle Version vom 14. Juni 2026, 00: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

Projekt