Как получить вывод команды в Deno? - PullRequest
4 голосов
/ 28 мая 2020

Например, предположим, что у меня есть следующий код:

Deno.run({cmd: ['echo', 'hello']})

Как мне собрать выходные данные этой команды, которая равна hello?

1 Ответ

5 голосов
/ 28 мая 2020

Deno.run возвращает экземпляр Deno.Process. Используйте метод .output() для получения буферизованного вывода. Не забудьте передать параметры "piped" в stdout / stderr, если вы хотите прочитать содержимое.

const cmd = Deno.run({
  cmd: ["echo", "hello"], 
  stdout: "piped",
  stderr: "piped"
});

const output = await cmd.output() // "piped" must be set

cmd.close(); // Don't forget to close it

.output() возвращает Promise, которое преобразуется в Uint8Array поэтому, если вам нужен вывод в виде строки UTF-8, вам нужно использовать TextDecoder

const outStr = new TextDecoder().decode(output); // hello
...