V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  Node.js

nodejs 如何获取命令行的历史

  •  
  •   vevlins · 2017-12-15 21:52:42 +08:00 · 3413 次点击
    这是一个创建于 2562 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    vevlins
        1
    vevlins  
    OP
       2017-12-15 22:10:19 +08:00
    刚发现可以直接读.bash_history 文件,但是这似乎也不是个好主意。不知道 node 有没有自己的方案,exec 出来的跟系统上直接敲 bash 的区别是什么?
    noe132
        2
    noe132  
       2017-12-16 00:15:00 +08:00   ❤️ 1
    因为 history 是 bash 的 built in command。
    就像 cd 一样,不能去执行 cd,原因如上。
    你切换到 /bin/sh 就会发现 command not found.
    fov6363
        3
    fov6363  
       2017-12-16 12:07:24 +08:00   ❤️ 1
    先 which history 一下,看看 history 是不是有别名什么的,我本地是 fc -l 1,然后 node 执行这个 fc -l 1 应该没啥问题(我没试.....)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:21 · PVG 19:21 · LAX 03:21 · JFK 06:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.