Gibt es eine Möglichkeit, einen Befehl erst auszuführen, nachdem ein anderer ohne temporäre Datei ausgeführt wurde? Ich habe einen länger laufenden Befehl und einen anderen Befehl, der die Ausgabe formatiert und sie mit curl an einen HTTP-Server sendet. Wenn ich nur ausführen commandA | commandB
, commandB
wird starten curl
, eine Verbindung zum Server herstellen und Daten senden. Da dies commandA
so lange dauert, tritt beim HTTP-Server eine Zeitüberschreitung auf. Ich kann machen was ich willcommandA > /tmp/file && commandB </tmp/file && rm -f /tmp/file
Aus Neugier möchte ich wissen, ob es eine Möglichkeit gibt, dies ohne die temporäre Datei zu tun. Ich habe es versucht, mbuffer -m 20M -q -P 100
aber der Curl-Prozess wird noch am Anfang gestartet. Mbuffer wartet nur, bis commandA
die Daten tatsächlich gesendet wurden . (Die Daten selbst sind maximal einige hundert kb groß)
commandA
an commandB
, oder?
commandA && commandB
?