【问题标题】:Bash command history is not written when a window is closed关闭窗口时不写入 Bash 命令历史记录
【发布时间】:2018-01-30 20:19:32
【问题描述】:

我发现我的笔记本电脑上安装的“bash for ubuntu for windows”在我重新启动“bash for ubuntu for windows”后无法加载命令历史记录。

更准确地说,如果我打开终端,输入一些命令,那么我在这个终端会话中输入的所有命令都可以通过箭头键找到。但是如果我关闭(通过单击右上角的“x”)终端并重新打开它,我找不到我之前通过箭头键输入的任何命令。

有人对此有任何想法吗?

非常感谢。

【问题讨论】:

  • 我只是快速尝试了一下。就我而言(Creator's Update,WSL 上的 16.04 Ubuntu),当我使用 exit 时会保存命令,但在使用左上角按钮时会丢失。你能确认一下这种行为吗?
  • 是的,这行得通。谢谢@bracco23,我将编辑问题以指定我之前单击“x”关闭窗口。

标签: linux windows bash ubuntu


【解决方案1】:

您需要通过键入 exitCtrl+d 来离开 shell,而不仅仅是关闭窗口。 exit 会隐式写入历史记录,您可以随时使用history -w 显式触发写入历史记录。

【讨论】:

  • 这确实有效。非常感谢!但我不明白为什么在 Mac & Linux 终端中,我可以直接单击“x”关闭,然后获取存储的所有命令历史记录,但在 bash for windows 中我必须使用退出?
  • 看起来 Windows 终止 bash 的方式与在 UNIX 上不同,并且 bash 没有机会写入历史记录。但也许这只是一个配置问题?我无法测试它。我没有 Windows。
  • 这是一个长期存在的(30 年?)Windows 问题——关闭提示从未像使用任何标准 Windows 应用程序那样触发窗口关闭事件。所有 Windows 命令提示符程序都存在同样的问题;您必须在进入 Windows 命令提示符时存储您的设置。
猜你喜欢
  • 1970-01-01
  • 2020-11-17
  • 2019-10-22
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-17
相关资源
最近更新 更多