Python:获取shell命令的输出'history'

我的最终目标是捕获在terminal中执行的以前的命令。 由于〜/ .bash_history不包含来自当前terminal会话的命令,因此我不能简单地读取该文件。

从另一个线程,我发现这个脚本:

from subprocess import Popen, PIPE, STDOUT shell_command = 'bash -i -c "history -r; history"' event = Popen(shell_command, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT) output = event.communicate() 

这与我正在查找的内容非常接近,但它也不会包含当前terminal会话的历史logging,因为它是作为subprocess启动的。 有什么办法可以在当前shell中执行类似的命令吗?

Solutions Collecting From Web of "Python:获取shell命令的输出'history'"