【问题标题】:"Git Bash here" is not preserving bash history between sessions [duplicate]“Git Bash here”没有保留会话之间的 bash 历史记录 [重复]
【发布时间】:2012-12-21 09:21:04
【问题描述】:

我在 Windows 7 上运行 Git-1.8.0-preview20121022,安装时使用“仅 Git Bash”(对 Windows cmd 的干扰最小)。

当我从开始菜单快捷方式打开 Git Bash 时,历史记录一切正常。

但是,当 Git Bash here 上下文菜单(git-cheetah shell 扩展之一或更简单的注册表扩展)是启动会话的内容时,来自该会话的命令不会保存到 .bash_history

如何弄清楚为什么会发生这种情况?或者更好的是,有人知道如何解决这个问题吗?

【问题讨论】:

    标签: bash shell windows-7 git-bash msysgit


    【解决方案1】:

    您应该可以通过将此行添加到您的 ~/.bash_profile 来解决此问题

    PROMPT_COMMAND='history -a'
    

    【讨论】:

    • 谢谢!我最终也使用了HISTCONTROLHISTIGNORE
    • 对我不起作用。我需要设置一个 HISTFILE。
    • 这在 Win 7 64 位上对我有用。由于无法正常工作而将头发扯掉了一段时间-然后意识到我是使用 Windows 行尾创建的,这会中断。如果遇到问题,请使用支持此功能的编辑器仔细检查您保存的 Unix 行尾 - 而不是例如记事本!
    【解决方案2】:

    投入

    PROMPT_COMMAND='history -a ~/.bash_history'
    

    进入 .bash_profile 为我做了。

    【讨论】:

      【解决方案3】:

      这里提到:https://stackoverflow.com/a/60718848/6680510

      创建以下文件

      ~/.bash_profile
      ~/.bashrc
      

      并在它们两个中都放入以下行

      PROMPT_COMMAND='history -a'

      要从控制台(git bash)本身执行此操作,请使用以下命令 命令

      echo "PROMPT_COMMAND='history -a'" >> ~/.bash_profile
      echo "PROMPT_COMMAND='history -a'" >> ~/.bashrc
      

      history -a 是什么意思

      来自history --help 命令

      -a 将此会话中的历史行追加到历史文件中

      PROMPT_COMMAND 是什么?

      Bash 提供了一个名为 PROMPT_COMMAND 的环境变量。该变量的内容作为常规 Bash 命令执行 在 Bash 显示提示之前。

      .bash_profile.bashrc 之间的区别

      .bash_profile 用于登录 shell,而.bashrc 用于 为交互式非登录 shell 执行。

      当您通过控制台登录(输入用户名和密码)时, 坐在机器旁,或通过 ssh 远程:执行 .bash_profile 在初始命令提示符之前配置你的 shell。

      但是,如果您已经登录到您的机器并打开一个新的 终端窗口 (xterm) 然后 .bashrc 在窗口之前执行 命令提示符。 .bashrc 也会在您启动新的 bash 实例时运行 在终端中输入 /bin/bash。

      在 OS X 上,终端默认每次都会运行一个登录 shell,所以这是 与大多数其他系统略有不同,但您可以对其进行配置 在首选项中。

      参考文献

      https://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x264.html https://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and-bashrc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-20
        • 1970-01-01
        • 2013-09-01
        • 2021-12-18
        • 2011-10-29
        • 1970-01-01
        • 2019-10-22
        • 2015-06-04
        相关资源
        最近更新 更多