在“屏幕”(Linux 实用程序)窗口中,各个窗口的 .bash_history 在哪里?

在“屏幕”(Linux 实用程序)窗口中,各个窗口的 .bash_history 在哪里?

我正在使用 linux 实用程序‘屏幕’(我的意思是终端多路复用器)。

在屏幕的每个“窗口”中,我都在运行 bash。

但是这些 bash 似乎没有任何命令历史记录。

例如,如果我在屏幕中的 bash 中输入以下内容:

[gojira@cray]$ date

Mon Jun  6 17:50:51 JST 2011

[gojira@cray]$ grep date ~/.bash_history

[gojira@cray]$

因此 ./bash_history 似乎只是空的。

屏幕中每个 bash 的历史记录存储在哪里?

答案1

仅当 shell 退出时,历史记录才会刷新到文件中。

尝试history使用内置的 bash 来访问更新的命令历史记录。

答案2

历史记录保存到$HISTFILE(默认~/.bash_history)。如果此变量为空,则不会创建历史记录文件。历史记录在退出 shell 时保存,而不是在退出之前保存。

要测试您的历史记录是否已启用,请运行:

echo "$HISTFILE"

答案3

您可能想要添加shopt -s histappend到您的.bashrc。

这会将终端历史记录的内容附加到退出时的 .bash_history 中。否则,退出时 .bash_history 将被覆盖。这意味着,如果您同时使用多个 bash shell 并关闭它们,您可能会丢失部分命令历史记录。

相关内容