2

我基本上想做这样的事情:

$ my-node-cli <some-param> | less

请注意,这less只是一个示例。我需要它与任何其他 *nix 命令一起使用。

关于用例的更多信息:
我编写了一个节点 CLI 包,用于搜索一些在线资源并将结果输出到 shell。由于结果集可能很大,客户想要对其进行额外的操作,例如grep, head, tail, tee, ... 任何东西。

我进行了广泛的搜索,我只设法找到了进入节点程序的方法,而不是. 我目前的想法是在调用我的程序时捕获管道的右侧,然后,在我获得结果后,使用child_process.exec. 不确定这是否可行?

请注意,每次调用我的程序时,它都是一个新进程,即程序没有自己的提示符。

谢谢

4

1 回答 1

2

您需要做的就是在您的应用程序中从 STDOUT 输出。如果通过管道将其发送到下一个程序。

您可以使用普通console.log()的 old 或process.stdoutstream

由 shell 来处理流重定向,而不是你的应用程序。

于 2015-06-04T19:20:01.410 回答