我喜欢在我的Node.js命令行应用程序中处理管道命令,例如myapp.babel app.es6 | mynodecmdlineapp
。要构建刷新机制,我需要访问以前的终端命令行文本。保存终端历史记录的位置因shell而异。是否有节点方式来阅读它?
答案 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"但这假设您正在构建命令并能够以这种方式调用它。否则,我认为你可以利用" !!"发送最后一个命令,但这会发送历史记录中的最后一个命令 - 而不是该命令的管道序列。