如何使用 Unix | 管道(在命令行上)将 Node.js 脚本连接起来?
- 论坛
- 如何使用 Unix | 管道(在命令行上)将 Node.js 脚本连接起来?
9 浏览
如何使用 Unix | 管道(在命令行上)将 Node.js 脚本连接起来?
我知道如何使用Node.js流将内容连接在一起,但是如果其中一些脚本是异步的,你如何使用Unix的|
将多个脚本连接在一起呢?
例如:
a.js (chmod 0755)
#!/usr/bin/env node setTimeout(function(){ console.log(JSON.stringify({ foo: 'bar' })); }, 10);
b.js (chmod 0755)
#!/usr/bin/env node console.log(process.argv);
这是输出结果:
$ ./a.js | ./b.js [ 'node', '/Users/viatropos/tests/b.js' ] events.js:72 throw er; // Unhandled 'error' event ^ Error: write EPIPE at errnoException (net.js:883:11) at Object.afterWrite (net.js:700:19)
乍一看,似乎有很多问题,所以不确定从哪里开始。有没有办法让它工作?最终目标是能够将./a.js
的console.log
输出传递给./b.js
。原因是,大部分时间这些脚本将逐个运行,但有时候将它们连接在一起会很方便,所以理想情况下系统应该能够处理这两种情况。