gpt4 book ai didi

shell - BASH:有没有办法在不活动期间自动将最近的行保存到我的 bash 历史记录中?

转载 作者:行者123 更新时间:2023-11-29 09:21:38 33 4
gpt4 key购买 nike

.bash_history 文件是我们许多人的救命稻草。不幸的是,BASH 似乎只在 session 关闭时(通过 exit)保存该 session 的命令。

这是一个悲剧,然后,当一个 session 意外关闭时,你来自一个重要 session 的所有命令都消失了——在它用花哨的语法归档所有命令之前,这些命令花了几个小时才正确....

当我在下类时忘记关闭 SSH 连接,并且由于不活动(Write failed: broken pipe)而断开连接时,或者当我在没有关闭我的电脑的情况下重新启动计算机时,我就会遇到这种情况手动终端等。

我希望在一段时间后(比如每 10 分钟一次)归档我的 BASH 命令,这样即使我关闭了一个 session ,我的命令仍会存在。这看起来有点像很多人可能会觉得有用。

有没有人知道如何做到这一点?

理想情况下....

  • 该功能一旦设置就不需要用户额外的努力——他/她可以添加到 ~/.bashrc
  • 用户可以更改备份间隔
  • 它将避免使用临时文件、别名 bash 或其他“hacks”

StackOverflow 用户 -- 认为自己面临挑战!

最佳答案

您可以使用带有-a 选项的history 命令:

history
-a Append the ``new'' history lines (history lines entered since the
beginning of the current bash session) to the history file.

借助 PROMPT_COMMAND 函数,您可以一次将每条命令写入历史文件:

PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.

所以只要把它放到 .bashrc 中

PROMPT_COMMAND="history -a"

关于shell - BASH:有没有办法在不活动期间自动将最近的行保存到我的 bash 历史记录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028060/

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