如何从 python 将命令添加到当前终端的 bash 历史记录中

问题描述 投票:0回答:1

我发现这个解决方案可以在我的bash历史记录中添加使用Python执行的命令,但我无法让它在我当前的终端会话中工作。仅当我打开新终端时,我才看到该命令已添加到 bash 历史记录中。

我希望看到该命令添加到我当前终端会话中的 bash 历史记录中。

python linux bash shell
1个回答
0
投票

在大多数类 Unix 操作系统(包括 Linux)中,命令历史记录通常存储在用户主目录中名为“.bash_history”的文件中。当您运行“history”命令时,它会显示该文件的内容,显示先前在当前 shell 会话中执行的命令列表。

但是,历史文件仅在 shell 会话终止后才用命令更新。这意味着当您运行“history”命令时,当前 shell 会话中执行的任何命令都不会立即出现在历史输出中。相反,一旦您退出 shell 会话,它们将被附加到历史文件中。

此行为的原因是为了防止同时或并行会话覆盖彼此的命令历史记录。每个 shell 会话在内存中维护自己的历史记录列表,并且仅在会话结束时更新历史记录文件,确保每个会话的命令历史记录保持一致和准确。

如果您想立即使用当前会话中的最新命令更新历史文件,可以使用“history -a”命令,该命令告诉 shell 将当前会话的历史记录附加到历史文件中,而无需等待会话终止。如果您想确保在退出 shell 会话之前保存命令历史记录,这会很有用。

© www.soinside.com 2019 - 2024. All rights reserved.