Есть ли способ выполнить команду только после выполнения другой без временного файла? У меня есть одна более длинная команда и другая команда, которая форматирует вывод и отправляет его на HTTP-сервер с помощью curl. Если я просто выполню commandA | commandB
, commandB
запустится curl
, подключусь к серверу и начну отправку данных. Потому что commandA
занимает так много времени, HTTP-сервер будет тайм-аут. Я могу делать то, что я хочу сcommandA > /tmp/file && commandB </tmp/file && rm -f /tmp/file
Из любопытства я хочу знать, есть ли способ сделать это без временного файла. Я пытался, mbuffer -m 20M -q -P 100
но процесс скручивания все еще начинается в самом начале. Mbuffer ждет, пока commandA
не закончится фактическая отправка данных. (Данные сами по себе не более нескольких сотен килобайт)
commandA
в commandB
, не так ли?
commandA && commandB
?