bash历史记录已附加,但histappend已关闭


8

我在ubuntu 10.4上,我的shell是bash。当我打开多个gnome终端并关闭它们时,历史记录将正确附加。当我输入时,shopt它说:

histappend      off

谁能告诉我追加行为的配置位置?


1
重新标记'ubuntu-10.04-lts',因为ubuntu-10.10尚未发布。我听说它被命名为Meerkat。
奎克吉

1
顺便说一句,我在Lucid上的bash shell都显示histappendon ...没有任何调整...您是否已经调整了bash配置?
奎克吉

@quack:谢谢,我一如既往地领先于我的时间;-)
路德维希·韦恩泽尔

@quack:我已经多次升级了此安装,所以我不确定100%。对我来说,无论histappend是打开还是关闭都无关紧要,历史总是附加在后面。我真正好奇的是为什么会这样?如果您可以购物-u histappend并告诉我它是否仍附加在您的安装中,那将是很有见地的?
路德维希·魏尼尔

Answers:


1

histappend是我希望控制的设置。由于这些不是登录shell,因此in /etc/bash.bash.logout或in中不会发生任何事情~/.bash_logout。输入,检查是否设置了陷阱trap -p。另外echo $PROMPT_COMMAND,请检查是否有什么事情正在发生。


echo $ PROMPT_COMMAND返回echo -ne“ \ 033] 0; $ {USER} @ $$ {HOSTNAME}:$ {PWD / $ HOME /〜} \ 007”。trap -p不返回任何内容。我没有/etc/bash.logout,而〜/ .bash_logout没有任何收录历史。
路德维希·魏尼尔

1

bash尝试尽可能附加历史记录。随着histappend上,你将保证始终追加的历史。如果关闭,历史记录将仅附加到Enter交互式bash会话中的命令数量之前> HISTSIZE。发生这种情况时,历史记录将被覆盖。

如果要显式覆盖历史记录,可以使用history -win .bash_logout或exit陷阱。

我在此答案中更详细地发布了有关bash历史追加如何工作的信息。


-1

我在我的网站上写了一个关于将histappend设置为的快速提示,但我希望在这里改述该帖子,希望能回答您的问题。

您应该能够通过使用shopt将histappend配置为“ on”。

启用运行

shopt -s histappend

禁用运行

shopt -u histappend

有帮助吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.