我在Windows 7上运行Git-1.8.0-preview20121022,安装时只使用“Git Bash”(对Windows cmd最少侵入)。
当我从开始菜单快捷方式打开Git Bash时,历史记录一切正常。
但是当Git Bash here
上下文菜单(git-cheetah
shell扩展名一个或更简单的注册表一个)启动会话时,该会话中的命令不会保存到{{1} }。
怎么能弄清楚为什么会这样?或者更好的是,有人知道如何解决这个问题吗?
答案 0 :(得分:15)
您应该可以通过将此行添加到~/.bash_profile
PROMPT_COMMAND='history -a'
答案 1 :(得分:6)
如此处所述 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显示提示之前。
对登录Shell执行
.bash_profile
与.bashrc
之间的差异
.bash_profile
,而对.bashrc
执行 为交互式非登录外壳执行。通过控制台登录(键入用户名和密码)时, 坐在机器上,还是通过ssh远程:执行.bash_profile 在初始命令提示符之前配置外壳程序。
但是,如果您已经登录到计算机并打开一个新的 终端窗口(xterm),然后在窗口之前执行.bashrc 命令提示符。启动新的bash实例时也会运行.bashrc 在终端中输入/ 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
答案 2 :(得分:5)
把
PROMPT_COMMAND='history -a ~/.bash_history'
进入.bash_profile为我做了。