Node.js 如何将节点CLI程序的输出通过管道传输到shell?

Node.js 如何将节点CLI程序的输出通过管道传输到shell?,node.js,node.js-stream,Node.js,Node.js Stream,我基本上想做这样的事情: $ my-node-cli <some-param> | less $my node cli | less 请注意less只是一个示例。我需要它与任何其他*nix命令一起工作 有关用例的更多信息: 我编写了一个node CLI包,用于搜索一些在线资源并将结果输出到shell。由于结果集可能很大,客户机希望对其执行其他操作,例如grep,head,tail,tee。。。什么都可以 我到处搜索,只找到了通过管道进入节点程序的方法,而不是离开节点程序。我目前的

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

$ my-node-cli <some-param> | less
$my node cli | less
请注意
less
只是一个示例。我需要它与任何其他*nix命令一起工作

有关用例的更多信息:
我编写了一个node CLI包,用于搜索一些在线资源并将结果输出到shell。由于结果集可能很大,客户机希望对其执行其他操作,例如
grep
head
tail
tee
。。。什么都可以

我到处搜索,只找到了通过管道进入节点程序的方法,而不是离开节点程序。我目前的想法是在调用程序时捕获管道的右侧,然后在获得结果后,使用
child\u process.exec
执行与管道连接的结果(以及调用时我记得的部分)。但不确定这是否可行

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


谢谢

您只需在应用程序中从标准输出即可。如果通过管道传输到下一个程序,则会将其发送到下一个程序

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


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

什么意思,它“将结果输出到shell”?你的意思是它只是写到
stdout
?那为什么管道不行呢?对,我太傻了,这就是为什么网络上没有资源,它是如此简单。谢谢大家,我有一个bug,它让我相信是管道导致了它,而这是我自己的代码中的东西。