如何将节点CLI程序的输出传递给shell?
我基本上想要做这样的事情:
$ my-node-cli <some-param> | less
请注意, less
就只是一个例子。 我需要它与任何其他* nix命令一起工作。
关于用例的更多信息:
我编写了一个节点CLI包,用于search一些在线资源并将结果输出到shell。 由于结果集可以是巨大的,客户端希望对其执行额外的操作,例如, grep
, head
, tail
, tee
,…任何事情。
我search的范围很广,我只能设法find节点的方式,而不是。 我目前的想法是当我的程序被调用时捕获pipe道的右侧,然后,在获得结果后,使用child_process.exec
执行与pipe道(和我被调用时记得的那部分) child_process.exec
。 不知道是否可以工作?
请注意,每次我的程序被调用时,这是一个新的过程,即程序没有自己的提示。
谢谢
所有你需要做的是在你的应用程序中从STDOUT输出。 这将被发送到下一个程序,如果pipe道。
您可以使用普通的旧console.log()
或process.stdout
stream 。
这是由shell来处理streamredirect,而不是你的应用程序。