nodejs 如何获取命令行的历史

2017-12-15 21:52:42 +08:00
 vevlins

希望在 nodejs 文件内获取获取命令行的历史记录
使用 child_process.exec
执行 history 返回为空,执行 !-1 直接报错/bin/sh: !-1: command not found
node 完全小白,没找到解决方案,求助各位大佬!

3343 次点击
所在节点    Node.js
3 条回复
vevlins
2017-12-15 22:10:19 +08:00
刚发现可以直接读.bash_history 文件,但是这似乎也不是个好主意。不知道 node 有没有自己的方案,exec 出来的跟系统上直接敲 bash 的区别是什么?
noe132
2017-12-16 00:15:00 +08:00
因为 history 是 bash 的 built in command。
就像 cd 一样,不能去执行 cd,原因如上。
你切换到 /bin/sh 就会发现 command not found.
fov6363
2017-12-16 12:07:24 +08:00
先 which history 一下,看看 history 是不是有别名什么的,我本地是 fc -l 1,然后 node 执行这个 fc -l 1 应该没啥问题(我没试.....)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/415165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX