Answers:
当您运行bash shell脚本时(例如,通过运行shebang行为的可执行文件)#!/bin/bash
,该脚本将在非交互式shell中运行。非交互式外壳的功能之一是禁用历史记录。因此,如果您希望脚本能够使用历史记录,则需要执行以下操作:
#!/bin/bash
HISTFILE=~/.bash_history # Or wherever you bash history file lives
set -o history # enable history
history | grep git
当然,在这种情况下,您可以完成以下操作:
grep git ~/.bash_history
由于以上两种情况都要求历史记录文件(~/.bash_history
)是最新的,因此几乎可以肯定不会。
我不确定在删除shebang行后如何运行脚本。采购文件(如,与.
)是不一样的运行脚本,因为里面确实有历史在当前shell中运行命令,启用。
bash
v3用户,完全出于沮丧,哈哈)。至少对于马丁来说,我的解决方案有很大帮助,这(至少)很舒服。