保留两个 bash 历史文件,一个是被忽略的文件,一个是所有内容

TM.*_*TM. 5 bash command-history bashrc

为了查看我使用最多的命令,我想保留我在 bash 历史记录中输入的命令的记录(甚至是重复的)。

但是,为了理智和易用性,我仍然希望保持我的忽略设置。

有没有办法自动创建两个历史文件?“默认”没有重复,其他地方的完整历史?

小智 10

您可以忽略内置历史记录机制并滥用 $PROMPT_COMMAND 以任何您想要的方式写入历史记录。有些人保留一个历史文件目录,每个 shell/日期/主机名等等。大约是这样的:

prompt_cmd() {
    echo "$_" >> $HOME/.my_history_file_$HOSTNAME
}

PROMPT_COMMAND=prompt_cmd
Run Code Online (Sandbox Code Playgroud)

显然是用日期、时间等等来点缀……