Это продолжение вопроса Как перехватить и сохранить в переменную выходной поток команды в node.js?
Я понял, что мне также нужно отправить поток на стандартный вывод, потому что вызываемый мной скрипт (не ls
, как в примере) отправляет обновления на экран (используя \ r для перезаписи той же строки)
Так что мне нужно показать поток в терминале и одновременно сохранить его в переменной для постобработки
Это пример кода, который правильно отправляет поток на терминал:
const cp = require('child_process');
const result = cp.spawnSync(
'ls',
['-l', '/usr'],
{ stdio: [process.stdin, process.stdout, process.stdout] }
);
Это пример сохранения потока в переменную:
const cp = require('child_process');
const result = cp.spawnSync(
'ls',
['-l', '/usr']
);
savedStream = result.stdout.toString();
Я хотел бы иметь комбинацию обоих