在退出终端之前记录命令历史记录的别名/脚本?

在退出终端之前记录命令历史记录的别名/脚本?

我是bash脚本方面的新手。

我正在考虑编写一个别名或脚本,这样每次我使用exit命令行时,它都会记录我的命令历史记录。因为我尝试了很多新命令,我想回到文件并对其进行注释,这样我就可以更好地学习,而不是只是尝试命令然后完全忘记它们。

alias exit ="history > `date +%Y-%m-%d`.txt; exit"

但是当我重新加载我的 bash 时,我得到:

-bash: alias: exit: not found
-bash: alias: =history > 2015-09-22.txt; exit: not found

为什么这不起作用?我是否应该尝试编写一个带有 while 循环的脚本?

答案1

Bash 有一个您可能正在寻找的历史文件。尝试vim ~/.bash_historycat ~/.bash_history。它可能就是您要找的内容。这是 redhat 发行版的历史文件位置,对于其他发行版,可能位于其他地方……但主目录对它来说是有意义的 :)

答案2

修剪等号前的空格:

alias exit="history > `date +%Y-%m-%d`.txt; exit"

答案3

看着。看起来在 bash 中你可以设置“陷阱”以在事件发生时调用。尝试将其放入你的 .bashrc 中:

function show_history {
    history > `date +%Y-%m-%d`.txt
}
trap show_history EXIT

运行help trap以获取更多信息。

相关内容