kef*_*ich 6 bash command-history
据我所知,单个 shell 的历史记录仅在 shell 关闭时附加到 .bash_history 文件中。这意味着我经常在崩溃/内核崩溃时丢失单个 shell 的历史记录。
为什么历史记录只在关闭会话时写入?有没有办法在执行时写入每个命令?有什么理由我不希望在执行时写入每个命令(例如,写入一个巨大的 bash_history 文件时的性能问题)?
(我正在使用 Mac OS X 10.6 并使用 iTerm 同时运行许多选项卡式终端。我设置了 histappend 以及其他一些选项。
export HISTSIZE=1000000
export HISTTIMEFORMAT="%d/%m/%y %T "
shopt -s histappend
Run Code Online (Sandbox Code Playgroud)
)
您的 .bashrc 中缺少一行。添加:
PROMPT_COMMAND="$PROMPT_COMMAND;history -a"
后
shopt -s histappend
PROMPT_COMMAND 在打印下一个提示之前执行 (IIRC)。顺便说一句,关于历史何时被书写,你是对的。修改后的提示命令将刷新历史记录。
| 归档时间: |
|
| 查看次数: |
3794 次 |
| 最近记录: |