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, commandBwird starten curl, eine Verbindung zum Server herstellen und Daten senden. Da dies commandAso 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 100aber der Curl-Prozess wird noch am Anfang gestartet. Mbuffer wartet nur, bis commandAdie Daten tatsächlich gesendet wurden . (Die Daten selbst sind maximal einige hundert kb groß)
commandAan commandB, oder?
commandA && commandB?