如何在node.js中访问终端历史记录?

时间:2016-01-21 19:50:13

标签: node.js command-line pipe command-line-arguments

我喜欢在我的Node.js命令行应用程序中处理管道命令,例如myapp.babel app.es6 | mynodecmdlineapp。要构建刷新机制,我需要访问以前的终端命令行文本。保存终端历史记录的位置因shell而异。是否有节点方式来阅读它?

1 个答案:

答案 0 :(得分:0)

也许是一个愚蠢的答案,但是,如果您正在构建整个命令链,您可以构造它以将您作为第一个参数执行的第一个命令传递给mynodecmdlineapp。

然后,您可以在mynodecmdlineapp中访问argv。看到, https://nodejs.org/docs/latest/api/process.html#process_process_argv

示例调用如下所示:

myapp.babel app.es6 | mynodecmdlineapp "myapp.babel app.es6"

process.argv [2]将包含" myapp.babel app.es6"但这假设您正在构建命令并能够以这种方式调用它。否则,我认为你可以利用" !!"发送最后一个命令,但这会发送历史记录中的最后一个命令 - 而不是该命令的管道序列。