V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
vevlins
V2EX  ›  Node.js

nodejs 如何获取命令行的历史

  •  
  •   vevlins · Dec 15, 2017 · 3822 views
    This topic created in 3068 days ago, the information mentioned may be changed or developed.

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

    vevlins
        1
    vevlins  
    OP
       Dec 15, 2017
    刚发现可以直接读.bash_history 文件,但是这似乎也不是个好主意。不知道 node 有没有自己的方案,exec 出来的跟系统上直接敲 bash 的区别是什么?
    noe132
        2
    noe132  
       Dec 16, 2017   ❤️ 1
    因为 history 是 bash 的 built in command。
    就像 cd 一样,不能去执行 cd,原因如上。
    你切换到 /bin/sh 就会发现 command not found.
    fov6363
        3
    fov6363  
       Dec 16, 2017   ❤️ 1
    先 which history 一下,看看 history 是不是有别名什么的,我本地是 fc -l 1,然后 node 执行这个 fc -l 1 应该没啥问题(我没试.....)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   843 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:50 · PVG 04:50 · LAX 13:50 · JFK 16:50
    ♥ Do have faith in what you're doing.