我是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_history
或cat ~/.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
以获取更多信息。