我正在尝试以编程方式从子进程内的bash终端获取历史记录(go executable)。我基本上是在寻找终端运行的最后N个命令。
流速:
在go / shell out下运行时,内置history
的bash不会产生正确的结果。
阅读~/.bash_history
并不准确,因为在提示结束时会写入bash终端的历史记录。
想知道这是否可行?
答案 0 :(得分:1)
根据建议here,您可以将新命令保存到history -a <file_path>
的文件中,然后在子进程中,您可以读取文件中的最后N行(使用tail -n <N>
)。