2015-06-04 31 views
2

我基本上想要做这样的事情:如何将节点CLI程序的输出管道输出到shell?

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

注意less只是一个例子。我需要它与任何其他* nix命令一起工作。

关于用例的更多信息:
我编写了一个节点CLI包,用于搜索某些在线资源并将结果输出到shell。由于结果集可以是巨大的,客户想要做就可以了额外的操作,e.g grepheadtailtee ......什么真正的。

我搜索无远弗届,我只设法找到办法管节点程序,而不是。我当前的想法是在调用程序时捕获管道的右侧,然后在获得结果后,使用child_process.exec执行与管道连接的结果(以及我在调用时记住的那部分)。不知道这是否可以工作?

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

谢谢

+2

你是什么意思,它“输出结果到shell *”?你的意思是简单写入'stdout'?那为什么这根管子不工作? – Bergi

回答

2

所有你需要做的是在你的应用程序中从STDOUT输出。如果通过管道连接,它将被发送到下一个程序。

您可以使用普通的旧console.log()process.stdout stream

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

+0

没错,那对我来说很愚蠢,这就是为什么网上没有资源,这很直接。感谢球员们,我有一个错误让我相信管道是什么造成的,什么时候是我自己代码中的东西。 –