【发布时间】:2016-01-22 04:37:16
【问题描述】:
我喜欢在我的 Node.js 命令行应用程序中处理管道命令,例如 myapp.babel app.es6 | mynodecmdlineapp。要构建刷新机制,我需要访问以前的终端命令行文本。保存终端历史记录的位置因外壳而异。是否有节点方式可以读取?
【问题讨论】:
标签: node.js command-line pipe command-line-arguments
我喜欢在我的 Node.js 命令行应用程序中处理管道命令,例如 myapp.babel app.es6 | mynodecmdlineapp。要构建刷新机制,我需要访问以前的终端命令行文本。保存终端历史记录的位置因外壳而异。是否有节点方式可以读取?
【问题讨论】:
标签: node.js command-line pipe command-line-arguments
也许是一个愚蠢的答案,但是,如果您正在构建整个命令链,您可以构建它以将您执行的第一个命令作为第一个参数传递给 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”,但这假设您正在构建命令并能够以这种方式调用它。否则,我认为您也许可以利用“!!”发送最后一个命令,但这将发送历史中的最后一个命令——而不是在该命令的管道序列中。
【讨论】: