是否可以修改.bash_logout?

是否可以修改.bash_logout?

我正在尝试修改 .bash_logout 以将 shell 历史记录附加到 txt 文件中。我还想对该文件进行一些限制。我在 Google 上搜索时尝试了很多命令,但似乎都不起作用。有什么可行的方法吗?

以下是我尝试过的一些命令。

# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups  
# append history entries..
shopt -s histappend

# After each command, save and reload history
export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"

还尝试过:

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big big history
export HISTFILESIZE=100000               # big big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

答案1

您可以使用陷阱来实现这一点。

例如,在你的 .bash_profile 中放入如下内容:

function save_history
{
    ~/.bash_history >> ~/mybackup_history.txt
}
trap save_history EXIT

有关陷阱的其他资源链接

trap有关声明的一些背景信息

包含大量trap示例的博客文章

Bash 脚本指南中有关陷阱的章节

Unix & Linux Stack exchange 关于陷阱的问题

相关内容