gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 02:32:25 25 4
gpt4 key购买 nike

我的最终目标是捕获之前在终端中执行的命令。由于 ~/.bash_history 不包含来自当前终端 session 的命令,我不能简单地读取该文件。

从另一个线程,我找到了这个脚本:

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()

这与我正在寻找的非常接近,但它也不包括当前终端 session 的历史记录,因为它是作为子进程启动的。有什么办法可以在当前的 shell 中执行类似的命令吗?

最佳答案

为什么不直接读取文件。~/.bash_history

for history in open('/home/user/.bash_history'):
print(history, end='')

关于Python:获取 shell 命令的输出 'history',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18319605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com