我曾经能够使用up
和down
箭头来查找我的历史记录,包括返回不同 retval 的失败命令,更正它们并重试。在我安装了fzf
一些更改后,现在我的历史记录中只有成功的命令返回一个值,其他所有内容都不存在。
我怀疑我要么更改了脚本配置之一中的某些内容,要么 fzf 更改了某些内容:
.bashrc
.fzf.bash
.profile
.bash_profile
不幸的是,这非常烦人,我不知道如何解决它。例如,输入:
which python
sudo apt-cache
生产于.bash_history
:
#1601901660
which python
但不是sudo apt-cache
命令。
运行以下命令:
grep HIST ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login ~/.bash_aliases /etc/bash.bashrc /etc/profile /etc/profile.d/* /etc/environment .fzf.bash 2>/dev/null
生产:
/home/tons/.bashrc:HISTCONTROL=ignoreboth
/home/tons/.bashrc:HISTSIZE=
/home/tons/.bashrc:HISTFILESIZE=
/home/tons/.bashrc:export HISTTIMEFORMAT="%h %d %H:%M:%S "
/home/tons/.bashrc:export HISTSIZE=10000
/home/tons/.bashrc:export HISTFILESIZE=10000
/home/tons/.bashrc:export HISTCONTROL=ignorespace:erasedups
/home/tons/.bashrc:export HISTIGNORE="ls:ps:history"
/home/tons/.bashrc:export HISTIGNORE="s*"
答案1
该HISTIGNORE
变量是告诉 bash 历史系统忽略某些命令的一种方式。在这里,您将其设置为:
export HISTIGNORE="s*"
请注意,这将覆盖之前的HISTIGNORE="ls:ps:history"
.更重要的是,这s*
告诉 bash 不要s
在历史记录中存储任何以 开头的命令,这很好地解释了为什么sudo apt-cache
不存储 your :sudo
以s
.