在执行shell命令后如何马上保存到.bash_history文件

默认情况下,所有输入的命令都会被历史库记住。
但是执行的命令都是暂时存储在内部存储器中,只有当退出shell会话后从写入“~/.bash_history”。
有时候(例如突然失去连接)可能会导致输入的丢失。

使用以下Linux命令强制shell将当前shell会话期间输入的每个命令追加为~/.bash_history文件:

shell 1: $history -a

如果要更新历史记录并反映“~/.bash\u历史记录”文件的更改,可以通过以下方式读取“~/.bash_history”文件中的所有历史记录命令:

shell 2: $history -r

要修改bash shell,从而强制它在命令执行后立即将每个命令自动存储到~/.bash_history文件中,可以在~/.bashrc文件中输入以下行:

declare PROMPT_COMMAND="history -a;history -r"

上面的一行将确保在每次命令执行“history-a”之后,历史文件都会附加上最新执行的命令。它还将确保您的历史文件~/.bash_history的内容已被同一用户读取并可用于任何其他已打开的会话。

日期:2020-07-07 20:54:44 来源:oir作者:oir