C'è un modo per eseguire un comando solo dopo che un altro è stato fatto senza un file temporaneo? Ho un comando in esecuzione più lungo e un altro comando che formatta l'output e lo invia a un server HTTP usando curl. Se eseguo solo commandA | commandB
, commandB
inizierò curl
, mi collegherò al server e inizierò a inviare dati. Perché commandA
impiega così tanto tempo, il server HTTP scadrà. Posso fare quello che vogliocommandA > /tmp/file && commandB </tmp/file && rm -f /tmp/file
Per curiosità, voglio sapere se esiste un modo per farlo senza il file temporaneo. Ho provato mbuffer -m 20M -q -P 100
ma il processo di arricciatura è ancora iniziato all'inizio. Mbuffer attende solo fino al commandA
termine dell'invio effettivo dei dati. (I dati stessi sono solo poche centinaia di kb al massimo)
commandA
a commandB
, vero?
commandA && commandB
?